我有或多或少的基本UITableViewController使用NSFetchedResultsController.在UITableViewController被压入navigationController's堆栈.但推送动画并不流畅,因为提取NSFetchedResultsController是在主线程上执行的,因此会阻止UI.
我的问题是:如何NSFetchedResultsController在后台线程中执行获取以保持动画流畅?
在NSFetchedResultsController与委托方法是这样的:
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"GPGrade" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
// Set the batch size to a suitable number.
[fetchRequest setFetchBatchSize:20];
//Set predicate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parent == %@", self.subject];
[fetchRequest setPredicate:predicate];
// Edit the sort key as appropriate. …Run Code Online (Sandbox Code Playgroud) multithreading core-data uiviewcontroller nsfetchedresultscontroller ios