可能重复:
Core Data vs SQLite 3
我一直在使用SQLite在我的iOS应用程序中保存数据(对于最多超过20,000行的表)。但是,我遇到了SQLite的问题,当我在向表中插入数据时尝试使用SELECT
语句时,SELECT
语句将无效。
这样的东西会在Core Data中运行吗?我可以在将新数据插入数据库的同时从数据库中检索数据吗?
答案 0 :(得分:3)
是的,您可以同时对Core Data进行查询和插入,我假设您希望在多个线程上执行此操作。执行此操作的最佳方法是为每个线程(或队列)安装NSManagedObjectContext。
我设置它的方法是让你的主线程(UI)有一个NSManagedObjectContext来获取数据,一个用于插入一个单独的线程,其parentContext设置为主线程。这样,当您保存子上下文时,您将在主上下文中看到这些新对象,并且您可以执行新的提取(或者如果您有NSFetchedResultsController,它将为您更新它)。
关于核心数据的WWDC 2011视频详细讨论了parentContext。