私は長い間これと戦ってきました。Autorelease についての私の理解では、不要になったときに解放されるということです。
詳細なしでそれらの邪悪な EXC_BAD_ACCESS の 1 つを取得していました。次の場合にクラッシュします。
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([Logix_AppDelegate class]));
}
}
Zombies を有効にすると、ループで CoreData に書き込んでいることがわかりました。これは NSManagedObjectContext の初期化です。
NSManagedObjectContext *context = [[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext] autorelease];
ここに何か考えがあります....コードがたくさんあるので、ここに大量のものを貼り付けたくありませんでした。