最終更新:2013-01-11 (金) 05:55:09 (4085d)
NSDictionary
Top / NSDictionary
使い方
使い方 | メソッド名 | メモ |
要素だけで初期化 | dictionaryWithObject? | 最後はnil |
キーを指定して初期化 | dictionaryWithObjectsAndKeys? | 最後はnil。value,keyの順。 |
すべてのキー | allKeys? | |
特定のキーの値を取得 | objectForKey |
Xcode 4.4で導入された@リテラル
//Xcode 4.4~ NSDictionary *executives = @{@"CEO" : firstPerson, @"CTO" : secondPerson}; //Xcode 4.3以前 NSArray* titles = [NSArray arrayWithObjects:@"CEO", @"CTO", nil]; NSArray* persons = [NSArray arrayWithObjects:firstPerson, secondPerson, nil]; NSDictionary *executives = [NSDictionary dictionaryWithObjects:persons forKeys:titles];
例
NSDictionary* dict; //要素を追加 dict=[NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; //最後の要素はnilにする dict=[NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3",nil]; //要素を取り出してループ NSEnumerator* enum = [dict keyEnumerator]; NSString* key; while (key = [enum nextObject]){ NSSting* value; value = [dict objectForKey:key]; NSLog(@"key is %@, value is %@.",key,value); } //Fast Enumeration // キーでループする場合 for (id i in [dict keyEnumerator]) { // なんか処理 } // 値でループする場合 for (id i in [dict objectEnumerator]) { // なんか処理 } [dict setObject:@"value" forKey:@"key"];//追加 [dict removeAllObjects];//要素を削除 [dict removeObjectsForKey:@"key"]; [dict removeObjectsForKeys:(NSArray)keyArray];