-1

@ "True"のような100個の文字列を持つNSMutableArray(detailsMA)があります。その配列を、すでに割り当てられているNSMutableDictionaryに格納しています。

            NSArray *array1 = [[NSArray alloc] initWithArray:detailsMA];
            [detailsDictionary setObject: array1 forKey:@"detailsMA"];

文字列を@"False"に置き換えるなど、detailsMAの値を変更しました。その後、元の配列値を取得しています。

            [detailsMA removeAllObjects];
            [detailsMA addObjectsFromArray:[detailsDictionary objectForKey:@"detailsMA"]];

元の値ではなく、変更された値を取得しています。元の値が必要です。私を助けてください。

4

1 に答える 1

1

アレイをコピーする必要があります。

NSArray *array1 = [[NSArray alloc] initWithArray:detailsMA copyItems:YES];

コピーするオブジェクトのクラスにNSCopyingプロトコルを実装することを忘れないでください

編集:

オブジェクトを再度追加する場合は、追加する前にコピーを作成してください。

[detailsMA addObjectsFromArray:[[NSArray alloc] initWithArray:[detailsDictionary objectForKey:@"detailsMA"] copyItems:YES]];
于 2012-09-21T14:10:30.347 に答える