我用这个函数得到了一个SIGTRAP
- (void)initFetchRequest
{
NSManagedObjectContext *context = document.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Shindy" inManagedObjectContext:self.managedObjectContext];
// Configure the request's entity, and optionally its predicate.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"details" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
fetchedResultsController = [[NSFetchedResultsController alloc]
initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:nil
cacheName:nil];
// SIGTRAP here
NSError *error = nil;
[fetchedResultsController performFetch:&error];
if (![self.fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}就在我评论的地方。我不确定为什么我会得到这个错误。控制台没有给我任何东西。而坠机的细节只是一个0__kill。
我想补充的一点是,当第一次加载带有此函数的视图时,没有崩溃。但当我分割到另一个视图时,将一些对象添加到核心数据,然后取消该视图。我最初的观点(正在讨论的观点)突然抛出了SIGTRAP错误。
有什么想法吗?
发布于 2013-01-07 21:08:43
在您的代码中,您使用了两个对NSManagedObjectContext的引用,
context (用于获取的结果控制器)和self.managedObjectContext (用于获取请求的实体)。您应该验证它们是否确实是相同的。在任何情况下,对FRC及其初始化fetch请求使用相同的变量要好得多。
错误的另一个来源可能是您的排序描述符。检查它在其他地方是否如预期的那样工作。
https://stackoverflow.com/questions/14180184
复制相似问题