2014-02-27 1 views
1

이 스타일의 의미를 이해하지 못하고 표준 setter/getter에 어떤 이점이 있습니까? 주요 @interface와 클래스 확장 (이름이없는 범주)에 - "표준"속성 'getter 및 setter를 백업 -setter 및 getter as objc_setAssociatedObjec

- (UIViewController*)myVC { 
return objc_getAssociatedObject(self, kMJPopupViewController); 
} 

- (void)setMyVC:(UIViewController *) myVC { 
objc_setAssociatedObject(self, kMyVC, myVC, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 
} 
+0

@rmaddy, 감사합니다. 도움이됩니다. – user3358463

답변

1

당신은 멤버 변수를 가질 수 있습니다. 관련 객체를 사용하면 클래스에 보조 변수가있는 것처럼 보이기 때문에 클래스의 카테고리에서 특히 유용합니다.

synthesizeAssociation() macro을 가지고있는 libextobjc도 참조하십시오. 카테고리 안에 @properties를 추가하는 것이 쉽지 않습니다.