objective-c - 如何存储类变量,然后在 Objective-C 中调用该类的静态方法

标签 objective-c ios xcode static-methods

所以我希望一个类能够存储一个“类”对象,然后调用该类的静态方法...

基本上我有多个继承单个类的类,所以它们都有相同的静态方法(但返回不同的东西)。我希望能够存储我正在使用的子类,这样我就知道调用哪个子类的静态方法...

我知道我可以上课

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/

相关文章:

ios - 如何检测iOS中的wifi网络变化

ios - uinavigationcontroller 内的选项卡栏 Controller

objective-c - 如何使用 Xcode 在 Mac OS X 上的 Obj-C 中仅用几行在窗口 Canvas 上绘制/绘制/渲染点或为像素着色?

iphone - 与直接mainBundle引用相比,checkAndCreateDatabase方法的优势

ios - 如何开发包含图片资源的iOS框架?

ios - 使用不与 Swift 一起使用的 freopen 将日志内容写入文本文件

objective-c - 代码 : How To Adjust Components Height and Weight in Pixel?

c++ - 有没有办法将函数从 objective-c++ 传递到标准 c++?

objective-c - 限制 NSMetadataQuery 的范围

android - Cocos2dx C++ 处理许多纹理