0

我不断收到 -> 程序接收信号:“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];
}
4

1 回答 1

5

我相信results, 的结果executeFetchRequest:error:应该已经被自动发布了。因为您显式调用[results release],所以当当前自动释放池耗尽时,您会过度释放该对象。删除该[results release]行,看看是否可以修复它。

于 2009-09-09T00:14:49.170 回答