Private ivar en @interface o @ implementación
¿Hay alguna razón para declarar un ivar privado en@interface
en lugar de@implementation
?
Veo un código como este en Internet (incluida la documentación proporcionada porManzan):
Foo.h
@interface Foo : NSObject {
@private
id _foo;
}
@end
Foo.m
@implementation Foo
// do something with _foo
@end
El archivo de encabezado define la interfaz pública de una clase, mientras que un ivar privado es ... bueno ... privado. Entonces, ¿por qué no declararlo así?
Foo.h
@interface Foo : NSObject
@end
Foo.m
@implementation Foo {
@private
id _foo;
}
// do something with _foo
@end