0

Статический анализатор продолжает говорить мне, что у меня есть счетчик +1 для моего объекта запроса, и инструменты говорят мне, что там есть утечка. Однако, независимо от того, где я пытаюсь его выпустить, он продолжает сбой моего приложения. То же самое происходит с объектом NSPredicate. Пожалуйста, помогите, я стараюсь соответствовать сроку.Выпуск NSFetchRequest приводит к сбою приложения

// Fetch Requests 

// Method that returns an array of NSManagedObjects in the managedObjectContext with a predicate of who ordered 

- (NSArray *)fetchDataWithEntity:(NSString *)entity andSortKey:(NSString *)key andPerson:(Person *)whoOrdered 

{ 

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:entity 

                    inManagedObjectContext:managedObjectContext]; 

request.entity = entityDescription; 



// Handling Sorting 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:key ascending:YES 

                       selector:@selector(compare:)]; 

NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 

[request setSortDescriptors:sortDescriptors]; 

[sortDescriptor release]; 

[sortDescriptors release]; 



// Handling Predicate 

if (whoOrdered) { 

     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ == whoOrdered", whoOrdered]; 

     [request setPredicate:predicate]; 

} 



NSError *error = nil; 

NSArray *mutableFetchResults = [managedObjectContext executeFetchRequest:request error:&error]; 

//[request release]; 

[error release]; 

if (mutableFetchResults == nil) { 

     // Handle the error 

} 

return mutableFetchResults; 

}

ответ

1

Там нет необходимости, чтобы освободить error объект, так как вы не являетесь владельцем этого и вы должны освободить request объект как раз перед возвращением mutableFetchResults объекта, так как вы создаете его с помощью alloc и таким образом, является его владельцем ...

+0

Да, ошибка autoreleased – adali

+0

Спасибо, что заметили это, но он все еще не работает. Где бы я ни пытался освободить запрос, он сбой. Я также получаю 56.73% [request setPredicate: [NSPredicate predicateWithFormat: @ "...", whoOrdered]]; как источник утечки. – NSCoder

Смежные вопросы