为什么说每次我打电话save
我的NSManagedObjectContext:节约的NSManagedObjectContext导致应用程序无限等待
的应用程序似乎永远等待,永不回来,恢复它的执行?这是我的意思是在video。这可能是因为实体/关系模型有什么问题而导致的?
这里的泄漏仪器的截图,我没有看到任何泄漏,但似乎该应用程序被分配的东西建立起来:
为什么说每次我打电话save
我的NSManagedObjectContext:节约的NSManagedObjectContext导致应用程序无限等待
的应用程序似乎永远等待,永不回来,恢复它的执行?这是我的意思是在video。这可能是因为实体/关系模型有什么问题而导致的?
这里的泄漏仪器的截图,我没有看到任何泄漏,但似乎该应用程序被分配的东西建立起来:
您是否尝试过抛弃你的多线程代码来查看它是否工作?我的猜测是你在这里混合线程并从不同线程访问/保存MOC。手动管理线程是PITA,您应该尝试切换到Grand Central Dispatch。
我也给你的主要MOC自己的访问,所以你可以确保它不会从后台线程调用,并有一些:- (NSManagedObjectContext*)newBackgroundMOC;
和- (void)saveBackgroundMOC:(NSManagedObjectContext*)context;
方法来快速创建和后台队列/线程保存MOCS:
dispatch_async(my_queue, ^{
NSManagedObjectContext *context = [self newBackgroundMOC]; // create context, setup didSave notification to merge with main MOC, etc
// modify context
[self saveBackgroundMOC:context]; // main MOC gets updated
});
迁移到GCD是一项工作,但从长远来看,您会发现与它合作会更愉快。不言而喻,它也是苹果公司处理线程的最现代和推荐的方式。
用仪器泄漏分析器的屏幕截图编辑我的问题 – aherlambang
仪器可以帮助您,在仪器下运行应用程序,看看发生了什么。 – ImHuntingWabbits
[线程和核心数据在ipad应用程序上的mmap错误]的可能重复(http://stackoverflow.com/questions/6853183/mmap-error-on-ipad-app-with-threading-and-core-data) –