我正在使用此功能获得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。
我想补充的一点是,当首次加载具有此功能的视图时,没有崩溃。但当我转到另一个视图时,将一些对象添加到Core Data,然后关闭视图。我的原始视图(有问题的视图)突然抛出SIGTRAP错误。
有什么想法吗?
答案 0 :(得分:0)
在您的代码中,您使用了两个对NSManagedObjectContext
,
context
(对于获取的结果控制器)和self.managedObjectContext
(对于获取请求的实体)。 您应该验证这些是否确实相同。无论如何,对FRC及其初始化获取请求使用相同的变量要好得多。
错误的另一个来源可能是您的排序描述符。检查它是否按预期在其他地方工作。