Я борюсь в iOS (4) с выделением объектов в одной области и выпуском в другой области. Я использую свойства как указатели на объекты. Объект размещается и инициализируется в одном методе класса экземпляра, и я освобождаю его в методе dealloc класса. Свойства объявлены с сохранением. Помимо проблем с использованием таких свойств, как это, я также считаю громоздким выделение, инициализацию объекта и установку свойства.
NSObject *object = [[NSObject alloc] init];
Self.myProperty = object;
[object release];
Я пытался
self.myObject = [[NSObject alloc] init];
Однако это дало мне утечку памяти.
Мой вопрос: Нужно ли создавать этот временный объект или есть более элегантный способ сделать это?
Следующий вопрос: Должен ли я установить свойство равным nil и освободить автоматически сгенерированный ivar?
[self setMyProperty:nil], [myProperty release];
Когда XCode 4 генерирует для вас заглушки свойств, он помещает [self setMyProperty: nil] в viewDidUnload и [_myProperty release] в dealloc.