4
Objective-C에서 @private
, @protected
등과 같이 인스턴스 변수에 대한 액세스 제어가 어떻게 구현되는지 궁금합니다.@private는 어떻게 구현됩니까?
내가 별도의 구조물이 같은 몇 가지 방법으로 생성되고 있다고 생각했다 :
struct Class_Foo_Protected {
int bar;
};
struct Class_Foo_Private {
int baz;
};
struct Class_Foo_Public {
int qux;
};
하지만 난 정말 아무 생각의 라인을 따라
@interface Foo {
int bar;
@private
int baz;
@public
int qux;
}
=>
뭔가. 누구나 이것이 어떻게 실제로 이루어 졌는지 알 수 있습니까?
매우 흥미 롭습니다. 감사합니다. –
명확히하기 위해 런타임 메서드를 사용하여 클래스의 모든 ivar에 액세스 할 수 있으며 아무 것도 당신을 멈추게 할 수는 없습니다 (이 작업을 수행하는 일반적인 로터리 특성 제외). '@ private'은 순전히 컴파일러를위한 메타 데이터이며, 그 이상은 없습니다. –