我正在使用AFNetworking,我为AFHTTPSessionManager创建了一个可在iOS7上运行的子类,我想知道我可以继承相同的子类,但可以基于某些预处理器指令使用不同的 super class (例如AFHTTPRequestOperationManager)来继承它。

谢谢

最佳答案

解决此问题的“标准”方法是为您的类函数定义一个接口,然后创建“旧”和“新”类以实现该接口。使用“工厂”为运行时环境创建正确的工厂。

您可以改用“包装程序”类而不是接口,该类在内部创建特定于版本的类并转发对其的调用。

10-07 13:38