所以我希望一个类能够存储一个“类”对象,然后调用该类的静态方法...
基本上我有多个继承单个类的类,所以它们都有相同的静态方法(但返回不同的东西)。我希望能够存储我正在使用的子类,这样我就知道调用哪个子类的静态方法...
我知道我可以上课
Class something = [VirginMobile class];
但是我不能做类似 int i = [something staticMethodReturningInt];
有什么办法可以做到这一点吗?
干杯
最佳答案
我知道您可能不想听到这些,但是一旦您开始对类过于聪明,那么使用常规对象就是一个明确的信号。我不确定我是否正确理解了你的问题,但解决输入问题的一种方法是将接收器转换为 id
:
id something = [VirginMobile class];
int i = [something methodReturningInt];
只要编译器可以看到 methodReturningInt
的定义,就可以正常编译。当然,在运行时 VirginMobile
必须响应 +methodReturningInt
。
关于objective-c - 如何存储类变量,然后在 Objective-C 中调用该类的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027509/