我在iOS设备上从Core Data Model中获取对象时遇到问题。使用模拟器时,会成功获取对象,但是,在设备上NSMutableArray
我用来获取对象是空的。当我在AppDelegate.m
中获取对象时,它会正确返回对象,但是当我在View Controller中获取它们时,会发生错误。我搜索了很多互联网,我找不到问题的解决方案。我在应用程序加载时获取对象,获取此错误意味着应用程序永远不会工作。提前谢谢。
- (void)loadCategoriesFromDatabase{
categoriesInDatabase = [[NSMutableArray alloc] init];
NSFetchRequest *fetchRequest = [NSFetchRequest alloc];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Category" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"display_order" ascending:YES];
NSArray *sortArray = [NSArray arrayWithObject:sortDescriptor];
[fetchRequest setSortDescriptors:sortArray];
[fetchRequest setEntity:entityDescription];
self.categoriesInDatabase = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
答案 0 :(得分:1)
尝试将NSError
指针传递给executeFetchRequest
,如此
NSError* error = nil;
NSArray* categories = [managedObjectContext executeFetchRequest:fetchRequest
error:&error];
if(error) {
NSLog(@"%@", [error debugDescription]);
}
self.categoriesInDatabase = [categories mutableCopy];
并使用错误发布日志。