我试图在枚举时更改数组的内容。为了避免警告“在枚举时数组发生了变异”,我复制了数组并像这样完成了自动释放-
int iKeyArrayCount=0;
for(NSString *keyEntity in [[keyArray copy]autorelease])
{
[keyArray replaceObjectAtIndex:iKeyArrayCount withObject:[keyEntity stringByReplacingOccurrencesOfString:@"\"" withString:kMPVTBlankString]];
[keyArray replaceObjectAtIndex:iKeyArrayCount withObject:[keyEntity stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
iKeyArrayCount++;
}
我的困惑是关于 keyArray 副本的枚举。虽然枚举是这样的,但每次执行 for 循环时都会形成一个 keyArray 的副本?或者在整个枚举过程中只形成了那个keyArray的一个副本。