状況は次のとおりです。 でを取得
するリクエストがあります。AFNetworking
JSON
NSArray
NSDictionaries
私の目標は、その内部を変異させることです。すでにmutableCopy
配列を作成しましたが、すべてのコンテンツを簡単に変更できるかどうかを知りたいです。配列を手動で反復処理する必要がありますか?
状況は次のとおりです。 でを取得
するリクエストがあります。AFNetworking
JSON
NSArray
NSDictionaries
私の目標は、その内部を変異させることです。すでにmutableCopy
配列を作成しましたが、すべてのコンテンツを簡単に変更できるかどうかを知りたいです。配列を手動で反復処理する必要がありますか?
NSJSONSerialization には、結果のデータ構造の可変性を制御できるオプションがあります。適切なもの (おそらくNSJSONReadingMutableContainers
) を渡すだけです。
メソッドしか持っていNSDictionary
ないという理由だけで、 を変更することはできませんNSMutableDictionary
setObject:forKey:
したがってmutableCopy
、各辞書と空の可変配列を作成する必要があります。次に、for
ループでその配列を埋めます。あなたのコードはそうあるべきです:
- (NSMutableArray *)mutatedArrayFromArray:(NSArray *)array
{
NSMutableArray *resultArray = [NSMutableArray new];
if([array count] > 0)
{
for(int i = 0; i < count; i++)
{
NSMutableDictionary *mutatedItem = [[array objectAtIndex:i] mutableCopy];
[resultArray addObject:mutatedItem];
[mutatedItem release]; // only with ARC disabled
}
}
return [result autorelease]; // if ARC enabled : return result;
}