2

崩溃后出现此错误:

malloc: *** error for object 0x75617b4: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
2013-02-05 19:15:44.950 BusinessIdea[3171:15e03] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSSetM: 0x72dc5c0> was mutated while being enumerated.'

我不熟悉这个错误。知道它可能是什么吗?

4

1 回答 1

11

整个“在枚举时修改”错误意味着您可能在迭代集合时尝试从集合中删除某些内容。例如

for(NSString *str in array){
     if([str isequalToString:@"delete me"]){
         [array removeObject:str];   //this will cause a problem,
     }
}   

如果要使用快速枚举循环,则需要构建要删除的项目列表,然后在迭代步骤后将其删除。如果要删除循环主体中的项目,替代方法是使用传统的索引 for 循环。

于 2013-02-06T00:27:43.380 回答