2009-09-09 154 views
0

我不斷收到 - >程序接收到的信號:「EXC_BAD_ACCESS」。iphone核心數據executeFetchRequest內存問題

在下面的代碼,但我不明白爲什麼。

如果我註釋掉「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]; 
} 

回答

5

我相信resultsexecuteFetchRequest:error:的結果,應該已經被自動釋放。因爲你明確地調用了[results release],所以在當前自動釋放池被耗盡時,你會過度釋放該對象。刪除[results release]行,看看是否修復它。

+0

謝謝。這解決了它!乾杯。 – Sway 2009-09-09 03:06:45