iOS设备上的核心日期获取请求

时间:2013-03-02 19:45:54

标签: iphone ios database xcode core-data

我在iOS设备上从Core Data Model中获取对象时遇到问题。使用模拟器时,会成功获取对象,但是,在设备上NSMutableArray我用来获取对象是空的。当我在AppDelegate.m中获取对象时,它会正确返回对象,但是当我在View Controller中获取它们时,会发生错误。我搜索了很多互联网,我找不到问题的解决方案。我在应用程序加载时获取对象,获取此错误意味着应用程序永远不会工作。提前谢谢。

P.S:越狱的iPhone在测试时功能是否正常?另请注意,我已经创建了另一个使用Core Data的应用程序,它运行正常,我真的不知道这个有什么问题。

- (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];

1 个答案:

答案 0 :(得分:1)

尝试将NSError指针传递给executeFetchRequest,如此

NSError* error = nil;
NSArray* categories = [managedObjectContext executeFetchRequest:fetchRequest
                                            error:&error];
if(error) {
    NSLog(@"%@", [error debugDescription]);
}
self.categoriesInDatabase = [categories mutableCopy];

并使用错误发布日志。