iOS:将 NSFetch 的结果放入数组的最简单方法

iOS: Simplest way to place results of NSFetch into array

我想创建一个用户数组。获取提取结果并将其放入数组的最简单方法是什么?

这是我当前使用 NSFetchedResultsController 的代码。感谢您帮助清除我的脑雾...

- (void)viewDidLoad {
    [super viewDidLoad];
NSArray *users = fetchedResultsController;// not working. What should this be?
}

-(NSFetchedResultsController *)fetchedResultsController {
    if (_fetchedResultsController==nil){
        NSFetchRequest *fetchRequest= [[NSFetchRequest alloc] init];
        NSManagedObjectContext *context = [chModel sharedInstance].managedObjectContext;
               NSEntityDescription *entity =[NSEntityDescription entityForName:@"User" inManagedObjectContext:context];
        fetchRequest.entity=entity;

        NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]initWithKey:@"date" ascending:NO];
        NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor,nil];
        fetchRequest.sortDescriptors=sortDescriptors;

        self.fetchedResultsController=[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:context sectionNameKeyPath:nil cacheName:nil];
        self.fetchedResultsController.delegate=self;
        NSError *error = nil;
        if (![self.fetchedResultsController performFetch:&error]) {
            NSLog(@"Unresolved error %@,%@",error,[error userInfo]);
            abort();
        }

    }
    _users = [_fetchedResultsController fetchedObjects];
    return _fetchedResultsController;
}

fetchedResultsControllerNSFetchedResultsController 实例,不是它的任何内容。

由于必须实例化结果控制器才能获取获取的对象,因此请移动行

_users = [_fetchedResultsController fetchedObjects];

变成viewDidLoad喜欢

_users = [self.fetchedResultsController fetchedObjects];