gpt4 book ai didi

objective-c - iOS: [self.fetchedResultsController performFetch:&error];让我的应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 23:16:51 25 4
gpt4 key购买 nike

我有一个 UITableViewController,我想向它提供核心数据模型的内容。但是,当我获取内容时,我的应用程序崩溃了。这是 init 方法(我将 NSManagedObjectContext 传递给它)。

- (id)initInManagedObjectContext:(NSManagedObjectContext *)context
{
self = [super initWithStyle:UITableViewStylePlain];

if (self) {
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:context];
request.predicate = nil;
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"idDoc"
ascending:YES]];
/*
NSError *error = nil;
NSManagedObject *retrievedDocument = [[context executeFetchRequest:request error:&error] lastObject];
NSLog(@"retrievedDocument %@", retrievedDocument);
*/

NSFetchedResultsController *frc = [[NSFetchedResultsController alloc]
initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:nil
cacheName:@"CollectionCache"];

self.fetchedResultsController = frc;
[frc release];
[request release];


//HERE IT CRASHES
NSError *error;
[self.fetchedResultsController performFetch:&error];

if (error) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
//exit(-1); // Fail
}

}
return self;
}

我确定上下文已正确传递,因为如果我取消注释注释片段,存储的数据会正确打印。

我的猜测是 fetchedResultsController 有问题。

谢谢

最佳答案

异常与您错误使用performFetch:

有关

它返回一个 bool 值,告诉您获取成功。如果你得到一个 NO 返回,你可以检查 NSError 对象。否则你不能碰它。

可能所有使用 &error 的方法都应该这样使用:

    NSError *error;
if (![self.fetchedResultsController performFetch:&error]) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
//exit(-1); // Fail
}

关于objective-c - iOS: [self.fetchedResultsController performFetch:&error];让我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com