Я просматривал документы Apple и пример кода, чтобы попытаться определить лучший способ управления памятью для IBOutlets. Я немного смущен, если не сказать больше.
Код примера CurrentAddress объявляет IBOutlets как свойства:
@interface MapViewController : UIViewController <MKMapViewDelegate, MKReverseGeocoderDelegate>
{
MKMapView *mapView;
UIBarButtonItem *getAddressButton;
}
@property (nonatomic, retain) IBOutlet MKMapView *mapView;
@property (nonatomic, retain) IBOutlet UIBarButtonItem *getAddressButton;
Великий. И они выпущены в dealloc:
- (void)dealloc
{
[mapView release];
[getAddressButton release];
[super dealloc];
}
Теперь не следует устанавливать эти свойства для назначения? Поскольку, когда он установлен для сохранения, счетчик сохранения IBOutlet будет увеличен дважды: один раз при загрузке ниба и в другое время, когда свойство будет установлено? И не было бы лучше установить эти свойства на нуль, а не на освобождение в dealloc?