<分区>
<分区>
谁能建议如何使用快速枚举将 NSArray 的元素串起来。用普通的 for 循环做同样的事情非常容易。下面的代码工作正常
_tempArray = [[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F", nil];
NSUInteger i=0;
for (; i<[_tempArray count]; i++) {
if ([[_tempArray objectAtIndex:i] isEqualToString:@"A"]) {
[_tempArray replaceObjectAtIndex:i withObject:@"a"];
}
}
我想对快速枚举做与上面代码相同的事情。我尝试了下面的代码但它给出了*****错误:Collection <__NSArrayM: 0x610000043090> was mutated while being enumerated.******,这意味着枚举时无法修改集合。谁能提出任何实现它的方法。**
NSUInteger j=0;
for (NSString *temp in _tempArray) {
if ([temp isEqualToString:@"A"]) {
[_tempArray replaceObjectAtIndex:j withObject:@"a"];
}
j++;
}
最佳答案
How to modify string element of a NSArray using fast enumeration?
不要。您不应该在枚举期间修改数组。这不是任意限制——这样做可能会导致逻辑错误。
如果要修改/转换数组,请改用显式索引的 for 循环。
关于ios - 如何使用快速枚举修改 NSArray 的字符串元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678078/