Muss ein IBOutlet eine Eigenschaft sein und synthetisiert werden?
In den meisten Beispielen sehe ich das folgende Setup von IBOutlets:
(Example A)
FooController.h:
@interface FooController : UIViewController {
UILabel *fooLabel;
}
@property (nonatomic, retain) IBOutlet UILabel *fooLabel;
@end
FooController.m:
@implementation FooController
@synthesize fooLabel;
@end
Aber das funktioniert auch gut (Anmerkung: keine Eigenschaft und keine Synthetisierung):
(Example B)
FooController.h:
@interface FooController : UIViewController {
IBOutlet UILabel *fooLabel;
}
@end
FooController.m:
@implementation FooController
@end
Gibt es Nachteile bei der Definition von IBOutlets wie in Beispiel B? Wie Speicherlecks? Scheint gut zu funktionieren und ich bevorzuge es, die IBOutlets nicht als öffentliche Eigenschaften verfügbar zu machen, da sie nicht als solche verwendet werden. Sie werden nur in der Controller-Implementierung verwendet. Es an drei Stellen zu definieren, ohne dass es wirklich nötig ist, scheint mir nicht sehr TROCKEN (Wiederholen Sie sich nicht).