在我的 iPhone 应用中。
我正在将一个可变数组(带字典)复制到另一个。
好像是
resultsToDisplay = [[[NSMutableArray alloc]initWithArray:resultsPassed]mutableCopy];
2012-06-21 17:07:07.441 AllinoneCalc[3344:f803] Results To Display (
{
lbl = "Monthly EMI";
result = "75.51";
}
)
2012-06-21 17:07:08.224 AllinoneCalc[3344:f803] Results Passed (
{
lbl = "Monthly EMI";
result = "75.51";
}
)
那我正在修改其中一个。
[[resultsToDisplay objectAtIndex:i] setValue:[NSString stringWithFormat:@"%.2f",[[[resultsPassed objectAtIndex:i] valueForKey:@"result"] floatValue]] forKey:@"result"];
但是发生了什么,两者都被编辑了。
2012-06-21 17:07:08.703 AllinoneCalc[3344:f803] Results Passed (
{
lbl = "Monthly EMI";
result = "75.00";
}
)
2012-06-21 17:07:08.705 AllinoneCalc[3344:f803] Results To Display (
{
lbl = "Monthly EMI";
result = "75.00";
}
)
他们指的是同一个副本。
如何解决这个问题。我只想修改一个数组。
最佳答案
您只是在复制对象指针数组,而不是对象本身。参见 this article关于深度复制。
关于objective-c - 不能 "Copy"一个可变数组到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137444/