我有一個函數返回從CoreData
中獲取的NSMutableArray
。iPhone iOS使用函數從CoreData中檢索NSMutableArray
- (NSMutableArray*)getArray:(NSString*)entityName withDescriptor:(NSString*)descriptorKey {
NSError **error = nil;
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:entityName inManagedObjectContext:managedObjectContext];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entityDescription];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:descriptorKey ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[sortDescriptor release];
return [[managedObjectContext executeFetchRequest:request error:error] mutableCopy];
}
當我Build and Analyze
包含這個功能我的項目,我收到了分析結果說,有在線路分配對象的潛在泄漏X(該行是它返回可變複印件)
我調用這個函數是這樣的:
myArray = [self getArray:ENTITY_PAGES withDescriptor:DEFAULT_DESCRIPTOR];
其中myArray
是類的NSMutableArray的財產,ENTITY_PAGES
和DEFAULT_DESCRIPTOR
是NSString的常量
我希望在多個地方使用此功能,這樣我就可以減少項目中的冗餘數量。
我應該如何從Core Data
使用這樣的功能填充myArray
而不會導致這些分析儀問題?
我接着說:autorelease`後`mutableCopy`和分析儀沒有抱怨。我不知道你的意思是「適當地改變你的功能的名稱」。告訴我什麼是合適的?! ha – binnyb 2010-11-29 22:07:20