我有一个NSMutableArray(detailsMA)有100个字符串,如@“True”。 我将该数组存储在已经分配的NSMutableDictionary中。
NSArray *array1 = [[NSArray alloc] initWithArray:detailsMA];
[detailsDictionary setObject: array1 forKey:@"detailsMA"];
现在我更改了detailsMA的值,比如将字符串替换为@“False”,之后检索原始数组值,
[detailsMA removeAllObjects];
[detailsMA addObjectsFromArray:[detailsDictionary objectForKey:@"detailsMA"]];
这里有修改后的值,而不是原始值。 我需要原始价值。 请帮我。
答案 0 :(得分:1)
你应该复制数组。
NSArray *array1 = [[NSArray alloc] initWithArray:detailsMA copyItems:YES];
不要忘记在要复制的对象的类中实现NSCopying协议
编辑:
再次添加对象时,请在添加前进行复制。
[detailsMA addObjectsFromArray:[[NSArray alloc] initWithArray:[detailsDictionary objectForKey:@"detailsMA"] copyItems:YES]];