если вы не хотите, чтобы он был доступен другим классам, объявите @property в своей реализации, создав анонимную категорию для вашего класса.
Заголовочный файл:
// MyClass.h
@interface MyClass : NSObject {
NSObject *_privateObject;
NSObject *_readonlyObject;
NSObject *_publicObject;
}
@property (nonatomic, retain, readonly) NSObject *readonlyObject;
@property (nonatomic, retain) NSObject *publicObject;
@end
Реализация:
// MyClass.m
@interface MyClass ()
@property (nonatomic, retain) NSObject *privateObject;
// Make it writable on the implementation
@property (nonatomic, retain, readwrite) NSObject *readonlyObject;
@end
@implementation MyClass
@synthesize privateObject = _privateObject;
@synthesize readonlyObject = _readonlyObject;
@synthesize publicObject = _publicObject;
Это примеры трех разных свойств.
- privateObject не отображается в других классах;
- readonlyObject видим, но доступен только для чтения;
- publicObject видим и может быть получен и установлен;