class_getClassVariable() 有啥作用?
Posted
技术标签:
【中文标题】class_getClassVariable() 有啥作用?【英文标题】:What does class_getClassVariable() do?class_getClassVariable() 有什么作用? 【发布时间】:2010-12-31 03:26:33 【问题描述】:如果实例变量属于一个类的实例,那么类变量应该属于一个元类的实例,我应该这样想。但我对 Objective-C 元类的经验告诉我,这不太可能。
我想知道 class_getClassVariable
相对于 class_getInstanceVariable
做了什么,以及为什么运行时中没有 class_setClassVariable
。
【问题讨论】:
【参考方案1】:我在这里找到了一个关于它的讨论: http://lists.apple.com/archives/objc-language/2008/Feb/msg00021.html
不,这是不可能的。没有编译器支持,也没有 运行时支持;
class_getClassVariable(cls, name)
只是打电话class_getInstanceVariable(cls->isa, name)
.如果可能的话,它可能不会给你一个新的变量 无论如何,每个子类。 Objective-C 的元类并不是第一个—— 类足以让它运作良好。
【讨论】:
【参考方案2】:class_getClassVariable() 函数没有意义,因为在 Objective C 中没有类变量这样的东西。
我的猜测是运行时支持类变量,但语言不支持。
【讨论】:
以上是关于class_getClassVariable() 有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章