假设我有一个包含十几个类和类别的自定义框架。它们都继承/扩展标准可可类。出于这个原因,我的框架在编译期间链接到 <Cocoa>。
我的问题是,如果我添加一个需要 < QuartzCore > 的类,推荐的打包方法是什么?
1)如果我只是将类添加到框架中,并导入 QuartzCore,我的框架的任何消费者也必须导入 QuartzCore。
2)如果我将类移到另一个框架中,任何消费者都必须导入我的两个框架以获得完整的功能,以及 QuartzCore。第一个框架中的任何类都不能使用第二个框架。
3)有没有办法做#ifdef #endif或类似的事情,然后弱链接QuartzCore框架,以便Cocoa标准类和QuartzCore依赖类都在一个框架中,但消费者不必添加QuartzCore他们的项目?如果理想情况下 QuartzCore 不存在,则该类/类别根本无法用于运行时。