class_getClassVariable()做什么?

Jon*_*ing 11 metaclass class objective-c objective-c-runtime class-variables

如果实例变量属于类的实例,那么类变量将属于元类的实例,我认为.但是我对Objective-C元类的经验告诉我,这不太可能.

我想知道class_getClassVariable相反的是什么class_getInstanceVariable,以及为什么class_setClassVariable运行时没有.

Yuj*_*uji 13

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

不,这是不可能的.没有编译器支持,也没有运行时支持; class_getClassVariable(cls, name)只是打电话 class_getInstanceVariable(cls->isa, name).

如果可能的话,它可能不会在每个子类上给你一个新的变量.Objective-C的元类并不是一流的,足以让它运作良好.