나는 메모리 누수를 확인하기 위해 악기를 분석 사용하려고했고, 엑스 코드는 나에게이 시점에서 메모리 누수 제공 :출시 managedObjectContext 객체 C
.H
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
하는 .m
을@synthesize managedObjectContext = __managedObjectContext;
다음 코드에서 나는이 작업을 수행 :
AppDelegate *appController = [[UIApplication sharedApplication] delegate];
self.managedObjectContext = [[NSManagedObjectContext alloc] init];
[self.managedObjectContext setUndoManager:nil];
[self.managedObjectContext setPersistentStoreCoordinator: [appController persistentStoreCoordinator]];
,
이의 dealloc
:
- (void)dealloc
{
[__managedObjectContext release];
[super dealloc];
}
그것은 나에게이 라인에서 메모리 누수 제공 :
[self.managedObjectContext setUndoManager:nil];
이 객체가 :
self.managedObjectContext = [[NSManagedObjectContext alloc] init];
나는 dealloc
에 발표 한 , 왜 거기에 메모리가 누출 되었습니까?
괜찮지 만 아크가 없기 때문에 비 강요 대신 비 원자력을 사용할 수 있습니까? ... 그리고 나서이 작업을 수행해야합니까? self.managedObjectContext = [[NSManagedObjectContext alloc] init]; 아니면 그 줄을 지울 수 있니? – Piero
제안대로 한 줄을 변경하면 누출 여부를 알 수 있습니다. –