Um IBOutlet precisa ser uma propriedade e sintetizado?
Na maioria dos exemplos, vejo a seguinte configuração dos IBOutlets:
(Example A)
FooController.h:
@interface FooController : UIViewController {
UILabel *fooLabel;
}
@property (nonatomic, retain) IBOutlet UILabel *fooLabel;
@end
FooController.m:
@implementation FooController
@synthesize fooLabel;
@end
Mas isso também funciona bem (observe: sem propriedade e sem sintetizar):
(Example B)
FooController.h:
@interface FooController : UIViewController {
IBOutlet UILabel *fooLabel;
}
@end
FooController.m:
@implementation FooController
@end
Existem desvantagens de definir IBOutlets como no Exemplo B? Como vazamentos de memória? Parece funcionar bem e eu prefiro não expor os IBOutlets como propriedades públicas, pois eles não são usados como tal, eles são usados apenas na implementação do controlador. Defini-lo em três lugares sem uma necessidade real não me parece muito seco (não se repita).