崩溃与“集...突变而被枚举”

问题描述:

我在崩溃后得到这个错误:崩溃与“集...突变而被枚举”

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, 
    } 
} 

相反,你需要保持你要删除的项目列表,然后迭代步骤之后删除它们,如果你想使用快速枚举循环。如果您想要删除项目,替代方法是使用传统的循环索引。