la propriété privée en Objective-C

Est-il un moyen de déclarer une propriété privée en Objective-C? L'objectif est de bénéficier de synthétisés getters et setters mise en œuvre d'une gestion de la mémoire système, mais n'est pas exposé au public.

Une tentative de déclarer une propriété au sein d'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
  • Pourquoi avoir une propriété privée? Lorsque vous pouvez accéder à l' *_someArray directement à l'intérieur de vos méthodes d'instance?
  • Possible Dup stackoverflow.com/questions/3665698/...
  • Les propriétés privées sont un excellent endroit pour mettre des choses comme le chargement paresseux logique pour ivars
InformationsquelleAutor Yurie | 2011-04-13