rootObj replaceObjectAtIndex,我怎样才能得到valueForKey?

时间:2012-08-23 12:29:58

标签: objective-c xcode

我正在尝试替换我的NSDictionnary中的值,但我无法到达我正在寻找的部分

我想使用这种方法,或者...... ...

我有一个NSDictionnary,我想替换它:

  

[[rootObj objectAtIndex:0] valueForKey:@“check”]

有这种方法:

  

rootObj replaceObjectAtIndex:<#(NSUInteger)#> withObject:其中#(ID)#>

但是我无法访问valueForKey ...我怎么能达到它?

谢谢!

2 个答案:

答案 0 :(得分:1)

首先得到这样的所有键:

    NSArray *arrKeys = [yourDictionary allKeys];

现在替换这样说你想要替换第二个对象:

 if([arrKeys objectAtIndex:1]) //key for second Object
 {
   [yourDictionary setObject:yourNewValueHere forKey:[arrKeys objectAtIndex:1]]; //it overwrites value
 }

答案 1 :(得分:0)

使用此代码替换代码

编辑:根据用户的匹配更新答案

NSMutableDictionary *newDict = [[NSMutableDictionary alloc] init]; 
NSDictionary *oldDict = (NSDictionary *)[rootObj objectAtIndex:0]; 
[newDict addEntriesFromDictionary:oldDict];
[newDict setObject:@"1" forKey:@"check"];
[rootObj replaceObjectAtIndex:0 withObject:newDict];

在上面的例子中我想替换@“Sales Qty”的对象 所以我创建了字典并在那些字典中设置了对象然后只需设置@“Sales Qty”键的值并替换数组中的整个字典

如果您还有问题,请告诉我