lav*_*voy 4 objective-c foundation nsarray
这段代码运行时没有崩溃,我在文档中看不到任何内容,但是它真的安全吗?
[mutableArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// do some stuff to obj before removing it
[mutableArray removeObject:obj];
}];
Run Code Online (Sandbox Code Playgroud)
我认为不应该这样做.
与枚举一样,对象被视为const.
我尝试了相同的代码,我收到以下错误:
Collection <__NSArrayM: 0x10053b8d0> was mutated while being enumerated.
Run Code Online (Sandbox Code Playgroud)
代码:
NSMutableArray *mutableArray=[NSMutableArray new];
[mutableArray addObject:@"A"];
[mutableArray addObject:@"Ab"];
[mutableArray addObject:@"Ac"];
[mutableArray addObject:@"Ad"];
[mutableArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// do some stuff to obj before removing it
[mutableArray removeObject:obj];
NSLog(@"--->%@",mutableArray);
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2129 次 |
| 最近记录: |