我正在使用 AFNetworking 的 UIImageView+AFNetworking 类别在我的应用程序中异步加载图像。我添加了 AppBoy SDK 并将 SDWebImage 指定为依赖项。这两个框架都实现了一个名为 setImageWithURL 的函数。当我在 UIImageView 上调用 setImageWithURL 时,有没有办法指定我想使用哪个框架类别函数?
示例代码:
[imageView1 setImageWithURL:[NSURL URLWithString:imageSource1]];
调用 SDWebImage 的函数而不是 AFNetworking 的。
最佳答案
您不能使用 Objective-C 类。如果两个类别在一个类上实现相同的选择器,则不确定使用哪个。这是 ObjC 中消息分发工作方式的结果。
对于纯 Swift 类,您可以通过仅导入您实际想要在代码中使用的框架来选择要使用的扩展方法。对于 Swift 类的扩展,使用静态分派(dispatch)。
关于ios - 分类功能名称冲突,如何指定使用哪个分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41643872/