NSDictionary 的用法樣例

#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;
}
相關文章
相關標籤/搜索