我一直得到一个 - >程序接收信号:“EXC_BAD_ACCESS”。
在下面的代码中,但我真的不明白为什么。
如果我注释掉“executeFetchRequest”行,它就会消失。
不应该[结果发布];是不是需要什么?
提前致谢, 马特
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
// fetch the delegate
TestingAppDelegate *app = (TestingAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = [app managedObjectContext];
// construct the request
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"Client" inManagedObjectContext:managedObjectContext]];
NSError *error;
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];
[results release];
}
答案 0 :(得分:5)
我相信results
的结果executeFetchRequest:error:
应该已经自动释放。因为您显式调用[results release]
,所以当当前自动释放池耗尽时,您将过度释放该对象。删除[results release]
行并查看是否修复了该行。