функция анализа сообщает мне, что здесь есть потенциальная утечка в mutableFetchResults
:
- (NSMutableArray *) getBookmarks
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Bookmark" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[sortDescriptor release];
NSError *error;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
[request release];
if (!mutableFetchResults) {
NSLog(@"Error with fetch: %@", error );
return nil;
}
return mutableFetchResults ;
}
Как это работает, но с предупреждением об утечке.
Когда я использую autorelease NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
, мое приложение вылетает без журнала ошибок.
Как я могу найти проблему здесь?
- (id)init
{
self = [super init];
if (self) {
coreDataManager = [[CoreDataManager alloc] initWithDelegate:self];
bookmarks = [coreDataManager getBookmarks];
}
return self;
}