Core data NSFetchedResultsController通过MagicalRecord在后台

Core data NSFetchedResultsController通过MagicalRecord在后台,core-data,magicalrecord,Core Data,Magicalrecord,如何在后台线程中使用MR_fetchAllSortedBy方法 我试过: - (void)viewDidLoad { [super viewDidLoad]; [self loadFetchedResultsController]; } - (void)loadFetchedResultsController { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{

如何在后台线程中使用MR_fetchAllSortedBy方法

我试过:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self loadFetchedResultsController];
}

- (void)loadFetchedResultsController
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{
        _fetchedResultsController = [Podcast MR_fetchAllSortedBy:@"position"
                              ascending:YES
                          withPredicate:nil
                                groupBy:nil
                               delegate:self]
        dispatch_async(dispatch_get_main_queue(),^{
            if (![self.fetchedResultsController performFetch:&error])
            {
                 [MagicalRecord handleErrors:error];
            }
        });
    });
}

这些似乎已加载,但UITableView为空

MR_fetch方法将在返回之前执行提取,因此在这种情况下,实际上要提取两次。您是在抓取过程中注意到性能问题,还是只是好奇?不管是哪种方式,我都会先选择一个批量大小,然后在查看后台抓取之前通过您的抓取请求发送它。在后台和主线程中工作的性能差异非常明显