gpt4 book ai didi

objective-c - 将元数据添加到 Objective-C 方法和属性

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:04 25 4
gpt4 key购买 nike

如何向我的 objective-c 方法和属性添加额外的自定义信息?我想稍后在运行时检索此元数据。

我知道 objective-c 不直接支持方法属性,就像在 C# 中一样,但这正是我要寻找的:

[MyCustomAttribute(true)]
public void MyAwesomeMethod(int arg) {
// ...
}

我最近发现的最接近的是 UIKit 头文件中名为 UI_APPEARANCE_SELECTOR#define。显然苹果用这个标记了某些方法以便稍后阅读。

方法和属性定义如下:

@property(nonatomic,retain) UIColor *tintColor UI_APPEARANCE_SELECTOR;

- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics UI_APPEARANCE_SELECTOR;

谁能解释一下这是如何工作的?

谢谢!

最佳答案

没有对标记元数据(.NET 中的属性、Java 中的注释等)的内置支持。Apple 的宏在这里只是为了他们的开发人员工具的利益,你不能创建自己的具有任何意义的东西预处理器。

GCC/LLVM 定义了一些可以附加到各种符号的属性。例如,您可以通过使用 __attribute__((__deprecated__)) 标记方法来将其标记为已弃用,但仍然无法创建有意义的自定义属性。

如果您告诉我们您想要完成什么,也许我们可以建议解决该问题的替代方法。

关于objective-c - 将元数据添加到 Objective-C 方法和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com