[oc學習日記]字典,oc學習日記字典

來源:互聯網
上載者:User

[oc學習日記]字典,oc學習日記字典

 1         //字典的建立 2         NSDictionary *d1 = [NSDictionary dictionary]; 3         //將建立的字典的內容設定為制定的檔案的內容 4         NSString *path = @"";//檔案路徑 5         NSDictionary *d2 = [NSDictionary dictionaryWithContentsOfFile:path]; 6         //建立具有一個索引值的字典 7         NSDictionary *d3 = [NSDictionary dictionaryWithObject:@"s" forKey:@"s"]; 8         //建立具有多個索引值的字典  索引值對必需對應 9         //值在前  鍵在後10         NSDictionary *d4 = [NSDictionary dictionaryWithObjectsAndKeys:@"ss",@"2",11                                          @"ss",@"1",12                                          nil];13         14         //利用數組建立字典15         NSArray *key = @[@"2",@"3",@"4"];16         NSArray *obj = @[@"ss",@"ff",@"gg"];17         NSDictionary *d5 = [NSDictionary dictionaryWithObjects:obj forKeys:key];18         //便捷方式19         //鍵在前 值在後20         NSDictionary *d6 = @{21                              @"2":@"d",22                              @"3":@"d"};23         24         //init初始化25         //將初始化的字典內容設定為指定檔案內容26         NSDictionary *dd = [[NSDictionary alloc]initWithContentsOfFile:path];27         //初始化具有多個鍵-值的字典(利用數組)28         NSDictionary *dd1 = [[NSDictionary alloc]initWithObjects:obj forKeys:key];29         //初始化具有多個鍵-值的字典30         NSDictionary *dd2 = [[NSDictionary alloc]initWithObjectsAndKeys:31         @"ss",@"2",32         @"ss",@"1", nil];33         34         35         36         //字典基本操作37         //字典是無序的  鍵不可以重複 值可以重複38         //返回所有鍵39         NSLog(@"%@",[dd2 allKeys]);40         //返回所有值41         NSLog(@"%@",[dd2 allValues]);42         //返回所有值對應的鍵43         NSLog(@"%@",[dd2 allKeysForObject:@"ss"]);44         //返回對應鍵的值  最常見 最重要45         NSLog(@"%@",[dd2 objectForKey:@"ss"]);46         //索引值對47         NSLog(@"%zi",dd2.count);48 49         50         //不可變字典51         //建立52         NSMutableDictionary *dic = [NSMutableDictionary dictionary];53         //分配空間54         NSMutableDictionary *dic1 = [[NSMutableDictionary alloc]initWithCapacity:10];55         //建立並賦值56         NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"ss",@"2",57                                      @"ss",@"1", nil];58         //添加索引值對59         [dic2 setObject:@"s" forKey:@"sdads"];60         //刪除所有索引值對61         [dic2 removeAllObjects];62         //刪除指定鍵對應的索引值對63         [dic2 removeObjectForKey:@"sd"];64         65         66         //字典的遍曆67         //快速遍曆68         for (id key in dic2) {69             NSLog(@"%@ = %@",key,[dic2 objectForKey:key]);70         }71         //代碼塊遍曆72         [dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {73             NSLog(@"%@ %@",key,obj);74         }];75         //迭代器遍曆76         //可以輸出鍵和值77         NSEnumerator *en = [dic2 keyEnumerator];//將所有鍵裝入數組78         id key2 = nil;79         while (key2 = [en nextObject]) {80             NSLog(@"%@ %@",key2,[dic2 objectForKey:key2]);81         }82         NSEnumerator *en1 = [dic2 objectEnumerator];//將所有值裝入數組83         //只可以輸出值84         id obj3 = nil;85         while (obj3 = [en1 nextObject]) {86             NSLog(@"%@", obj);87         }88         89         90         //鍵給空值會異常   值給控制就是結束標誌

補充一點:

如果將自訂的類對象封裝進字典 

可以用setValuesForKeysWithDictionary方法對對象屬性進行賦值,但是封裝進字典的鍵一定要和類中的屬性名稱相同,並且數量不能超過類中的屬性數量

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.