#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //1.實例化一個字典對象 /* 字典的元素 是任意的對象地址類型 元素 是鍵值對 key - value 必須一一對應 成對出現 最後 nil 做爲結束 字典內容 是無序的 跟存放順序無關 key是惟一 的不能重複 可是 不一樣的key 能夠對應相同的值 key一般寫成 NSString * 哈希表 散列函數的算法 進行存放和查找 查找效率很是高 */ NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three",@"2015-4-23",@"today",@"xiaohong",@"name",@"2015-4-23",@"date", nil]; NSLog(@"dict:%@",dict); //2.用一個字典實例化另一個字典 NSDictionary *dict2 = [[NSDictionary alloc] initWithDictionary:dict]; NSLog(@"dict2:%@",dict2); //3.類方法實例化對象 NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three", nil]; NSLog(@"dict3:%@",dict3); NSDictionary *dict4 = [NSDictionary dictionaryWithDictionary:dict3]; NSLog(@"dict4:%@",dict4); NSArray *keysArr = [[NSArray alloc] initWithObjects:@"one",@"two", nil]; NSArray *valuesArr = [[NSArray alloc] initWithObjects:@"1",@"2", nil]; //用兩個數組 實例化一個字典 兩個數組 元素要一一對應 NSDictionary *dict5 = [NSDictionary dictionaryWithObjects:valuesArr forKeys:keysArr]; NSLog(@"dict5:%@",dict5); //經過key 找到值 重要函數 //只要咱們 經過A找A對應的值 那麼咱們就能夠用字典結構來存儲 //查找很是 快 NSString *str = [dict2 objectForKey:@"date"]; if (str) { NSLog(@"str:%@",str); }else { NSLog(@"沒有找到");//找不到返回nil } //快速枚舉遍歷 //快速枚舉遍歷的是key for (NSString *key in dict2) { NSLog(@"key:%@ - %@",key,[dict2 objectForKey:key]); } //擴展 //獲取字典 全部的key NSArray *allKeysArr = [dict2 allKeys]; NSArray *allValuesArr = [dict2 allValues]; NSLog(@"%@",allKeysArr); NSLog(@"%@",allValuesArr); } return 0; }