同様のオブジェクトを配列に追加する必要があるため、このような方法で新しい辞書を作成しました。
NSMutableDictionary* existingStepDict = [[[arrayForSteps objectAtIndex:0] mutableCopy] autorelease];
[arrayForSteps addObject:existingStepDict];
[existingStepDict release];
さて、ここで何が起こるかというと、後で辞書のいずれかで何かを変更すると、もう一方の辞書も更新されます。これらの辞書は両方とも独立して動作する必要があります。
そのために、私はこのようなコードの辞書のディープコピーを調べました。
NSMutableDictionary* existingStepDict = [[[arrayForSteps objectAtIndex:0] mutableCopy] autorelease];
NSMutableDictionary* destination = [NSMutableDictionary dictionaryWithCapacity:0];
NSDictionary *deepCopy = [[NSDictionary alloc] initWithDictionary:existingStepDict copyItems: YES];
if (deepCopy) {
[destination addEntriesFromDictionary: deepCopy];
[deepCopy release];
}
//add Properties array to Steps Dictionary
[arrayForSteps addObject:destination];
しかし、これも違いを反映していませんでした。私はここでいくつかの小さな間違いを犯していることを知っています。しかし、誰かが私の結果を得るのを手伝ってくれるでしょうか?
どうもありがとう!