2012-08-23 194 views
0

我試圖取代我NSDictionnary值,但我無法達到我要找的rootObj replaceObjectAtIndex,我怎樣才能得到valueForKey?

的一部分,我想用這種方法,還是那種......

我有一個NSDictionnary和我想替換此:

[[rootObj objectAtIndex:0] valueForKey:@ 「檢查」]

有此方法:

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

,但我不能存取權限的valueForKey ...我怎樣才能達到目標?

謝謝!

+0

rootObj a mutableArray?它包含字典? –

回答

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」鍵的值並替換整個字典in array

如果還有問題,請告知我

+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]; 謝謝! – xGoPox

1

首先獲得所有鑰匙是這樣的:

NSArray *arrKeys = [yourDictionary allKeys]; 

現在更換這樣說ü要更換第二個對象:

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