既存の辞書に対応する値を持つキーを挿入したい...
辞書の既存のキーの値を設定できますが、新しいキー値を追加できません...
任意の助けいただければ幸いです。
NSMutableDictionaryを使用する
NSMutableDictionary *yourMutableDictionary = [NSMutableDictionary alloc] init];
[yourMutableDictionary setObject:@"Value" forKey:@"your key"];
Swiftの更新:
以下は、上記のコードの正確なSwiftレプリカです。
var yourMutableDictionary = NSMutableDictionary()
yourMutableDictionary.setObject("Value", forKey: "Key")
しかし、私はSwift辞書の方法で行くことをお勧めします。
var yourMutableDictionary = [String: AnyObject]() //Open close bracket represents initialization
//The reason for AnyObject is a dictionary's value can be String or
//Array or Dictionary so it is generically written as AnyObject
yourMutableDictionary["Key"] = "Value"
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
このメソッドを使用することにより、NSMutableDictionaryに新しい値を追加できます
[dict setObject:@"Value" forKey:@"Key"];
キーが辞書に存在することを知るために
[[dict allKeys] containsObject:@"key"];
NSDictionaryは不変です。代わりにNSMutableDictionaryを使用してください。
adding オブジェクト:setObject:forKey:
キーが存在するかどうかのテスト:
[[aDict allKeys] containsObject:@"key"];
こんにちは私は辞書の形式でjsonからコンテンツを取得しています、そしてそれから私は他のいくつかの辞書にコンテンツを追加しています
//here contract is my json dictionary
NSArray *projectDBList =[contract allKeys];//listing all the keys in dict
NSMutableDictionary *projectsList=[[NSMutableDictionary alloc]init];
[projectDBList enumerateObjectsUsingBlock:^(NSString * obj, NSUInteger idx, BOOL *stop) {
[projectsList setObject:[contract objectForKey:obj] forKey:obj];
}];