0

NSDictionnaryの値を置き換えようとしていますが、探している部分に到達できません

この方法を使いたいのですが…

私はNSDictionnaryを持っていて、これを置き換えたいです:

[[rootObj objectAtIndex:0] valueForKey:@ "check"]

この方法があります:

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

しかし、valueForKeyにアクセスできません...どうすればそれに到達できますか?

ありがとう !

4

2 に答える 2

1

まず、次のようなすべてのキーを取得します。

    NSArray *arrKeys = [yourDictionary allKeys];

次に、次のように置き換えます。2番目のオブジェクトを置き換えたいと言います。

 if([arrKeys objectAtIndex:1]) //key for second Object
 {
   [yourDictionary setObject:yourNewValueHere forKey:[arrKeys objectAtIndex:1]]; //it overwrites value
 }
于 2012-08-23T12:39:47.827 に答える
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"キーの値を設定して、配列内の辞書全体を置き換えます。

それでも問題が解決しない場合はお知らせください

于 2012-08-23T12:41:01.067 に答える