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

당신이 그것의 소유자가 아닌 당신이 당신이 alloc를 사용하여 생성되기 때문에 바로 mutableFetchResults 객체를 반환하기 전에 request 객체를 해제해야하기 때문에 error 객체를 해제 할 필요가 없습니다 따라서 소유자가 ...

+0

예, 오류는 자동으로 처리됩니다. – adali

+0

알아 차 려서 고맙겠지 만 여전히 작동하지 않습니다. 내가 요청을 풀려고 할 때마다 충돌이 발생합니다. 나 또한 56.73 %를 얻는다. [요청 setPredicate : [NSPredicate predicateWithFormat : @ "...", whoOrdered]]; 내 누출의 원인. – NSCoder

관련 문제