NSFetchRequest导致SIGABRT或EXC_BAD_ACCESS

时间:2011-05-03 00:25:21

标签: iphone core-data nsfetchrequest

我正在使用这个简单的代码来获取我的提取请求

NSArray *fetchResults = [moc executeFetchRequest:request error:&error];

NSLog(@" i want show my result : %@",fetchResults); - >导致SIGABRT

如果我在创建之后就在我的持久存储中使用,那么我有一个错误。

PS:商店在填充和请求之间保存。

但是,如果我关闭应用程序并重新打开(在这种情况下商店存在),我没有错误。

在某些情况下,我可以查看此消息:在抛出'NSException'实例后调用终止

但我无法访问此例外。

如果我计算获取结果,我有一个很好的数字,这真的很奇怪。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

好的,我发现了问题!

在填充代码中,我的一个关系是插入自动释放。

删除它,现在没问题。

这不是一个好的解决方案:

 NSManagedObject *relationEntity = [[NSEntityDescription insertNewObjectForEntityForName:@"picture" inManagedObjectContext:moc] autorelease];

只需删除autorelease:

NSManagedObject *relationEntity = [NSEntityDescription insertNewObjectForEntityForName:@"picture" inManagedObjectContext:moc];

我在核心数据中忘记了这一点(不使用发布,只需将对象设置为nil )!