1

我不明白这种风格是什么意思,标准制定者/获取者有什么好处吗?

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

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

1 回答 1

1

您只能在 main@interface和类扩展(没有名称的类别)中拥有成员变量——它支持“标准”属性的 getter 和 setter。使用关联对象在类的类别中特别有用,因为它可以让您假装该类有一个支持变量。

另请参见libextobjc,它有一个synthesizeAssociation() 宏,这使得在类别中添加 @properties 变得非常简单。

于 2014-02-27T01:44:30.547 回答