Я пытался использовать Анализировать инструмент, чтобы увидеть утечки памяти, и Xcode дает мне утечка памяти в данный момент:релиз объект managedObjectContext с
.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
Я предлагаю изменить одну линию, как было предложено, и затем вы увидите, пропадет ли ваша утечка. –