如何向我的 Objective-C 方法和属性添加额外的自定义信息?我想稍后在运行时检索此元数据。
我知道objective-c不直接支持方法属性,就像在C#中一样,但这是我正在寻找的:
[MyCustomAttribute(true)]
public void MyAwesomeMethod(int arg) {
// ...
}
我最近发现的最接近的东西是#define
UIKit 头文件中名为UI_APPEARANCE_SELECTOR
. 显然,Apple 用它标记了某些方法,以便稍后阅读。
然后像这样定义方法和属性:
@property(nonatomic,retain) UIColor *tintColor UI_APPEARANCE_SELECTOR;
- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics UI_APPEARANCE_SELECTOR;
有人可以准确解释这是如何工作的吗?
谢谢!