Ios 带有AFNetworking和MagicalRecord的NSFetchedResultsController

Ios 带有AFNetworking和MagicalRecord的NSFetchedResultsController,ios,core-data,afnetworking,magicalrecord,Ios,Core Data,Afnetworking,Magicalrecord,我应该何时使用AFNetworking初始化NSFetchedResultsController?目前我正在做这件事: [[AFHttpClient sharedClient] GET:@"/admin/stockCategories" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { NSHTTPURLResponse *response = (NSHTTPURLResponse *)ta

我应该何时使用AFNetworking初始化NSFetchedResultsController?目前我正在做这件事:

[[AFHttpClient sharedClient] GET:@"/admin/stockCategories" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
    NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
    if (response.statusCode == 200) {
        NSArray *results = (NSArray *)responseObject;
        if ([results count] > 0) {
            for (NSDictionary *obj in results) {
                StockCategory *category = [StockCategory MR_createEntity];
                category.name = obj[@"name"];
                category.categoryId = obj[@"_id"];
                category.createdDate = [NSDate dateForRFC3339DateTimeString:obj[@"createdDate"]];

                [context MR_saveWithOptions:MRSaveParentContexts completion:^(BOOL success, NSError *error) {
                    dispatch_async(dispatch_get_main_queue(), ^{
                        [SVProgressHUD dismiss];
                        [self.tableView reloadData];
                    });
                }];
            }
        } else {
        }
    }
} failure:^(NSURLSessionDataTask *task, NSError *error) {
}];
我知道在我将对象保存到核心数据后,通常会将执行获取请求放入成功块。我是否应该这样做:

[context MR_saveWithOptions:MRSaveParentContexts completion:^(BOOL success, NSError *error) {
    // add NSFetchedResultsController here ?
    self.fetchedResultsController = [StockCategory MR_fetchAllSortedBy:@"createdDate" ascending:NO withPredicate:nil groupBy:nil delegate:self];
    dispatch_async(dispatch_get_main_queue(), ^{
        [SVProgressHUD dismiss];
        [self.tableView reloadData];
    });
}];
如果是,self.fetchedResultsController将多次初始化。我不这么认为。我目前正在做的是:

- (NSFetchedResultsController *)fetchedResultsController{
    if (!_fetchedResultsController) {
        _fetchedResultsController = [StockCategory MR_fetchAllSortedBy:@"createdDate" ascending:NO withPredicate:nil groupBy:nil delegate:self];
    }
    return _fetchedResultsController;
}

但在我的UITableViewDatasource方法中,只有numberOfRows方法有效,但cell.textLabel.text为空。但是如果我重新启动模拟器,并评论AFGET方法。一切正常,对象已保存在核心数据中,NSFetchedResultsController也正常工作

我不确定问题是什么…@casademora你可以看到我在一个for循环中保存,保存后就完成了。表视图重新加载数据,其数据源来自“获取结果”控制器。我的问题是,在对象保存到核心数据的过程中,我应该在何处初始化这个获取的结果控制器。