class_getClassVariable()是什么意思?

11

如果实例变量属于类的实例,那么类变量应该属于元类的实例。但是我的Objective-C元类经验告诉我这不太可能。

我想知道class_getClassVariableclass_getInstanceVariable的区别,以及为什么运行时库中没有class_setClassVariable

2个回答

13

我在这里找到了一个关于它的讨论: http://lists.apple.com/archives/objc-language/2008/Feb/msg00021.html

不可能。没有编译器支持,也没有运行时支持;class_getClassVariable(cls, name)只是调用了class_getInstanceVariable(cls->isa, name)

如果可能的话,它也不太可能在每个子类上给你一个新变量。Objective-C 的元类还不足以使其很好地工作。


1
class_getClassVariable() 函数没有意义,因为在 Objective C 中不存在类变量。
我猜类变量由运行时支持,而不是语言本身。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接