我有这个数组arr_original并复制arr_titles的值。当我更改arr_title的值时,arr_original也会更改。我想将arr_title的值复制到arr_original中,但是当我更改arr_tile的值时,不要更改arr_original的值。继承我的代码:
NSMutableArray *arr_original = [NSMutableArray new];
NSMutableArray *arr_title = [singletonManager.dictionaryAttribute objectForKey:attributeTitle];
//values of array {'one','two','three'}
[arr_original addObjectsFromArray:arr_title];
//copy values of arr_title
//values of array arr_original{'one','two','three'}
[arr_title replaceObjectAtIndex:0 withObject:@"five"];
//replace value
//values of array arr_title{'five','two','three'}
//values of array arr_original{'five','two','three'}
我只想保留arr_original的值,即使我更改了arr_title值也不会改变。请帮助,谢谢:)
答案 0 :(得分:1)
NSMutableArray *arr_original = [NSMutableArray new];
NSMutableArray *arr_title = [singletonManager.dictionaryAttribute objectForKey:attributeTitle];
for (id obj in arr_title){
[arr_original addObject:[[arr_title objectAtIndex:[arr_title indexOfObject:obj]] copy]]; //Copy the item
}
[arr_title replaceObjectAtIndex:0 withObject:@"five"];
这可以解决您的问题
答案 1 :(得分:1)
而不是这个,
[arr_original addObjectsFromArray:arr_title];
试试这个,
arr_original = [arr_title copy];
那很简单!
答案 2 :(得分:1)
您提供的代码没有您在评论中显示的结果。查找您如何记录或解释正在发生的事情的问题。