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 に答える