Iphone NSFetchedResultsController初始提取速度慢
我正在开发我的第一个核心数据应用程序,并且正在使用Iphone NSFetchedResultsController初始提取速度慢,iphone,ios,core-data,nsoperation,Iphone,Ios,Core Data,Nsoperation,我正在开发我的第一个核心数据应用程序,并且正在使用NSFetchedResultsController。我的问题是,初始提取速度很慢,因此当我的tableview滑入视图时,在调用初始提取并阻塞UI时会出现暂停。在我看到的所有示例中,初始提取都是在viewDidLoad中完成的。我想知道这是否可以在NSOperation中完成,以避免阻塞主线程 我不确定的是如何以线程安全的方式将NSFetchedResultsController传递到NSOperation。这可能吗?如果没有,如何确保在FRC
NSFetchedResultsController
。我的问题是,初始提取速度很慢,因此当我的tableview滑入视图时,在调用初始提取并阻塞UI时会出现暂停。在我看到的所有示例中,初始提取都是在viewDidLoad
中完成的。我想知道这是否可以在NSOperation
中完成,以避免阻塞主线程
我不确定的是如何以线程安全的方式将
NSFetchedResultsController
传递到NSOperation
。这可能吗?如果没有,如何确保在FRC上执行初始提取时UI不会被阻止。您的模型是否包含保存图像或大型对象的NSData属性?如果是,这可能是根本问题。在fetchRequest对象中设置“setPropertiesToFetch”,看看它是否有任何区别。仅获取表视图显示的属性。还要确保批处理大小设置为合理的数量。25-100. 您可能还想查看最新的核心数据配方代码,苹果正在使用GCD优化设置持久存储协调器,以帮助应用程序启动和阻止UI。@iKJ-它包含大约10个字符串和10个整数。字符串的长度不会超过50个字符。我刚试过“setPropertiesToFetch”。通过查看文档,您还需要设置ResultType:NSDictionaryResultType,但我认为这不适用于NSFetchedResultsController。@timthetoolman-我已将批处理设置为20。如果您指的是在viewDidLoad toono中执行抓取的TopSong示例代码,那么我指的是新的“Recipes”示例代码。