iphone核心数据executeFetchRequest内存问题

时间:2009-09-09 00:07:20

标签: iphone core-data memory-leaks ios-simulator

我一直得到一个 - >程序接收信号:“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];
}

1 个答案:

答案 0 :(得分:5)

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