OCの辞書NSDictionaryとNSMutableDictionary

2275 ワード

可変辞書(NSDictionary)と可変辞書(NSMutableDictionary)
jsonデータフォーマットはOCの辞書や配列に似ているため,解析サーバ側が要求したjsonデータを受信するために辞書を用いることが多い.
一、可変辞書の作成
1)イニシャルメソッドの作成
NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"  ", @"name", @" ", @"gender", @"16", @"age", nil];

2)コンビニエンス・コンストラクタの作成
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"  ", @"city", @"75", @"id",@"www.dalian.com/shahekou.jpg", @"image", nil];

3)字面量方式
NSDictionary *dic3 = @{@"date" : @"2016-03-21", @"content" : @"  ", @"imageURL" : @"www.baidu.com/image/spring.png"};

ps:辞書は無秩序で、キー値のペアは前後を区別しません
二、辞書の常用方法
// 1)           
NSUInteger num = [dic1 count];

NSLog(@"%lu", num);

// 2)          
NSArray *array = dic1.allKeys; // [dic1 allKeys]

NSLog(@"%@", array);

// 3)          
NSArray *array2 = [dic1 allValues]; // dic1.allValues

NSLog(@"%@", array2);

// 4)      key    value
NSString *str = [dic2 objectForKey:@"image"];

NSLog(@"%@",str);

三、可変辞書の作成
1)イニシャルメソッドの作成
NSMutableDictionary *dic1 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"    ", @"name", @"37", @"age", @"   ", @"location", nil];

2)コンビニエンス・コンストラクタの作成
NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"  ", @"name", @"  ", @"team", @"    ", @"location", nil];

3)字面量作成
NSMutableDictionary *dic3 = [@{@"  " : @"   ", @"  " : @"  ", @"  " : @"29"} mutableCopy];

四、可変辞書の方法
// 1)    Key     value
[dic3 setObject:@"  " forKey:@"  1"]; //               key value,            .

NSLog(@"%@", [dic3 objectForKey:@"  "]);

// 2)     key     
[dic3 removeObjectForKey:@"  1"];
NSLog(@"%@", dic3);


// 3)         
[dic3 removeAllObjects];
NSLog(@"%@", dic3);