Существует 3 модификатора: @private, @protected (по умолчанию) и @public. Поэтому, если я определяю переменную экземпляра как приватную, то она не должна быть доступна нигде. . -Видимость модификатора доступа в объекте c
@interface A {
@private
NSString *a;
}
@property(nonatomic, retain) NSString *a;
Сейчас в реализации какого-либо другого интерфейса/класса B-
-(void)getSomeValue {
A *object = [[A alloc] init];
NSString *value = object.a;
.........
}
Здесь я могу получить доступ к переменной экземпляра, хотя я определил, что как частные.
Это немного запутанно, хотя, когда я заглядываю в детали этого утверждения, тогда ясно, что он вызывает геттер a, но тогда он также кажется запутанным и противоречит концепции OOPS.
У кого-нибудь задумался об этом?
И @package, которая ограничивает видимость рамки. – Abizern