请教CoreData多线程问题
1个回答
展开全部
您好,很高兴为您解答:
哪个线程用到的moc就在那个线程内创建。 所以把threadManageContext放在线程中创建,就正确了。
有两种方法,一种是每一个线程有一个NSManagedObjectContext与persistent store coordinator, 另一种是每一个线程有一个但共享一个persistent store coordinator
我采用的第二种方法。
我有两个线程,一个UI主线程,一个后台线程,后台线程用它的NSManagedObjectContext不断操作数据库,同时用Notifications的方式通知主线程的NSManagedObjectContext进行mergeChangesFromContextDidSaveNotification操作。这是官网文档的方法。
在UI主线程,我用它的NSManagedObjectContext操作数据库,并显示到UITableView列表,可以显示出来,但是我一拖动列表, 程序就crash,并指向子线程当中。 如果我不拖动列表,程序可以跑一天也没问题(子测试用while一直调用我的方法)。
转载,仅供参考。
如果我的回答没能帮助您,请继续追问。
哪个线程用到的moc就在那个线程内创建。 所以把threadManageContext放在线程中创建,就正确了。
有两种方法,一种是每一个线程有一个NSManagedObjectContext与persistent store coordinator, 另一种是每一个线程有一个但共享一个persistent store coordinator
我采用的第二种方法。
我有两个线程,一个UI主线程,一个后台线程,后台线程用它的NSManagedObjectContext不断操作数据库,同时用Notifications的方式通知主线程的NSManagedObjectContext进行mergeChangesFromContextDidSaveNotification操作。这是官网文档的方法。
在UI主线程,我用它的NSManagedObjectContext操作数据库,并显示到UITableView列表,可以显示出来,但是我一拖动列表, 程序就crash,并指向子线程当中。 如果我不拖动列表,程序可以跑一天也没问题(子测试用while一直调用我的方法)。
转载,仅供参考。
如果我的回答没能帮助您,请继续追问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询