崩溃与“集...突变而被枚举”
问题描述:
我在崩溃后得到这个错误:崩溃与“集...突变而被枚举”
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.'
我不熟悉这个错误。任何想法可能是什么?
答
整个'正在枚举时修改'错误意味着您可能试图在迭代时从集中删除某些内容。例如
for(NSString *str in array){
if([str isequalToString:@"delete me"]){
[array removeObject:str]; //this will cause a problem,
}
}
相反,你需要保持你要删除的项目列表,然后迭代步骤之后删除它们,如果你想使用快速枚举循环。如果您想要删除项目,替代方法是使用传统的循环索引。