与'findAll'相比,NSFetchRequest的结果不同

时间:2012-03-02 13:10:31

标签: objective-c ios core-data nsfetchrequest

我使用的是CoreData,可以使用[MyManagedObjectClass findAll]检索我的对象。现在我想使用NSFetchRequest获取一些数据,如下所示:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

fetchRequest.entity = [NSEntityDescription entityForName:@"Contacts" inManagedObjectContext:self.context];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES]];

NSError *error;
NSArray *array = [self.context executeFetchRequest:fetchRequest error:&error];

虽然我没有谓词,但请求不会返回所有对象,而是返回0个对象。 AFAIK我不需要有谓词,如果我想加载所有对象,对吗?

2 个答案:

答案 0 :(得分:1)

  

虽然我没有谓词,但请求并不会返回所有内容   对象,但改为0对象。 AFAIK我不需要有谓词,   如果我想加载所有对象,对吧?

  • self.context不是nil?
  • 请求后NSError为空?

答案 1 :(得分:0)

这里的问题是我没有使用与核心数据相同的上下文。如果我从CoreData对象获取上下文,那么它可以工作。