+ (NSArray *) fetchAllContactsInContext:(NSManagedObjectContext *)a_context
{
NSFetchRequest *_request = [[NSFetchRequest alloc] init];
[_request setEntity:[NSEntityDescription entityForName:@"Contact" inManagedObjectContext:a_context]];
NSSortDescriptor *_sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lastName" ascending:YES];
NSArray *_sortDescriptors = [[NSArray alloc] initWithObjects:_sortDescriptor, nil];
[_request setSortDescriptors:_sortDescriptors];
NSError *_fetchError=nil;
NSArray *_results = [[NSArray alloc] initWithArray:[a_context executeFetchRequest:_request error:&_fetchError]];
[_sortDescriptor release];
[_sortDescriptors release];
[_request release];
if (_fetchError){
NSLog(@"Contact - Error fetching contacts %@", [_fetchError localizedDescription]);
}
[_fetchError release];
return [_results autorelease];
}
我想問一下,這個函數是否泄漏內存?其實樂器是說這個功能泄漏了很多內存。這個函數是否產生任何內存泄漏?
你能幫我解決內存問題嗎?
注:不考'_error',以確定是否有錯誤,測試'_results',有如果沒有錯誤,就不能保證值。另外,這些天領先的下劃線「_」通常只用於iVars,這有助於他人閱讀您的代碼。當然,所有這些都是名詞問題。 – zaph
我不認爲你需要釋放'_fetchError'。否則,可能會導致返回的值泄漏。嘗試運行產品 - >分析以查看是否有警告......或切換到ARC。 :-) –