我有兩個UITableViewControllers。我推到第二個,並在viewDidLoad中調用以下方法。第二次查看tableview後內存泄漏
我第二次處理這個視圖並回到第一個視圖,我得到一個內存泄漏。
儀器說,問題在以下方法的最後一行。
- (void)fetchRecords {
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Articulation" inManagedObjectContext:[self managedObjectContext]]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"articulationGroup == %@", selectedArticulationGroup];
[request setPredicate:predicate];
static NSArray *sortDescriptors = nil;
if (!sortDescriptors)
sortDescriptors = [[NSArray alloc] initWithObject:[[[NSSortDescriptor alloc] initWithKey:@"text" ascending:NO] autorelease]];
[request setSortDescriptors:sortDescriptors];
NSError *error = nil;
NSArray *fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
if (!fetchResults)
NSLog(@"no fetch results ArticulationsViewController, error %@", error);
[request release];
self.articulationsArray = [NSMutableArray arrayWithArray:fetchResults];
}
我有不知道...睡前:'(
self.articulationsArray = [[NSMutableArray alloc] initWithArray:fetchResults]如果articulationsArray是保留屬性,很可能會創建另一個泄漏。 – 2011-04-13 14:44:23