在iOS開發(fā)中,有一個(gè)比較容易出現(xiàn)的崩潰。就是__NSFastEnumerationMutationHandler,先上代碼
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *datas = [NSMutableArray arrayWithObjects:@"a", @"b", @"c", nil];
for (NSString *data in datas) {
if ([data isEqualToString:@"a"]) {
[datas removeObject:data];
}
}
}
在運(yùn)行這段代碼過后會(huì)出現(xiàn)以上的崩潰,出現(xiàn)這個(gè)崩潰的原因是因?yàn)樵诳焖倜杜e中修改了數(shù)組的內(nèi)容简逮。那么怎么處理才可以完美運(yùn)行呢?其實(shí)很簡單尿赚。只要將forin改為普通的for循環(huán)就可以了散庶。
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *datas = [NSMutableArray arrayWithObjects:@"a", @"b", @"c", nil];
for (int i = 0; i < datas.count; i++) {
NSString *data = [datas objectAtIndex:i];
if ([data isEqualToString:@"a"]) {
[datas removeObject:data];
}
}
}