Existe-t-il un moyen de déclarer une propriété privée en Objective C ? Le but est de bénéficier de getters et setters synthétisés implémentant un certain schéma de gestion de la mémoire, mais non exposés au public.
Une tentative de déclarer une propriété dans une catégorie conduit à une erreur :
@interface MyClass : NSObject {
NSArray *_someArray;
}
...
@end
@interface MyClass (private)
@property (nonatomic, retain) NSArray *someArray;
@end
@implementation MyClass (private)
@synthesize someArray = _someArray;
// ^^^ error here: @synthesize not allowed in a category's implementation
@end
@implementation MyClass
...
@end