Если я освобождаю объект, который содержит ссылку на переменную, которая мне нужна release
, достаточно ли этого? Или я должен release
на каждом уровне иерархии сдерживания? Боюсь, что моя логика исходит от слишком долгой работы с сборщиком мусора.
Например, я присвоил этому свойству экземпляра UIPickerView
вручную вместо использования IB
@property(nonatomic, assign) id<UIPickerViewDelegate> delegate
Поскольку это свойство assign
, я не могу просто release
ссылка после того, как я его назначил. Когда я наконец release
мой UIPickerView
экземпляр, мне нужно сделать это:
[singlePicker.delegate release];
[singlePicker release];
или достаточно второй строки?
Также: Являются ли эти свойства assign
нормой или это в основном для Interface Builder? Я думал, что свойства retain
были нормальным явлением.