作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我只是在考虑这种情况,我想声明一个从其他类动态扩展的类 C。假设我有 A 类和 B 类。现在,我希望 C 类根据指定条件扩展 A 或 B,例如:
#ifdef USE_CLASS_A
class C: A
#else
Class C: B
#endif
我如何在 Objective-C 中执行此操作?
更新:我只需要在编译时动态,而不是运行时。我的意思是,在编译期间,类 C 将扩展 A 或 B。这种扩展将永远存在,不会在运行时更改。
最佳答案
根据您的更新,答案是肯定的 - 使用 #if
/#ifdef
您可以在编译时确定类 C 是扩展类 A 还是类 B你建议的方式。
当然,A 类和 B 类最好提供相同的一组通用方法,并且您的代码只调用这些方法,否则在使用 C 类时您将需要更多的条件代码(编译或运行时)。
关于objective-c - 有没有办法在 Objective-C 上动态声明类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858281/
我是一名优秀的程序员,十分优秀!