0

静的アナライザーは、リクエスト オブジェクトの保持カウントが +1 であることを通知し続け、インスツルメントはそこにリークがあることを通知します。ただし、どこでリリースしようとしても、アプリがクラッシュし続けます。NSPredicate オブジェクトも同様です。助けてください、締め切りに間に合わせようとしています。

// 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;

}

4

1 に答える 1

1

errorオブジェクトの所有者ではないため、オブジェクトを解放する必要はありません。オブジェクトを使用して作成しているためrequest、オブジェクトを返す直前にオブジェクトを解放する必要があります。したがって、オブジェクトの所有者です...mutableFetchResultsalloc

于 2012-05-09T05:43:43.237 に答える