以這樣的方式作爲我有個要求,類似對象添加到陣列中,我已創建新的字典。從新詞典修改內容還修改父詞典數據
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];
但是,這也沒有反映出差異。我知道我在這裏犯了一些小錯誤。 但是,有人能幫我得到我的結果嗎?
非常感謝!
修改我以前的答案,包括另一種選擇 – tkanzakic 2013-02-20 08:12:07