ios 类别函数名冲突,如何指定使用哪个类别?

yftpprvb  于 2023-03-14  发布在  iOS
关注(0)|答案(1)|浏览(129)

我正在使用AFNetworking的UIImageView+AFNetworking类别在我的应用程序中异步加载图像。我添加了AppBoy SDK,它将SDWebImage指定为依赖项。这两个框架都实现了名为setImageWithURL的函数。当我在UIImageView上调用setImageWithURL时,是否有方法指定要使用哪个框架类别函数?
样本代码:

[imageView1 setImageWithURL:[NSURL URLWithString:imageSource1]];

调用SDWebImage的函数,而不是AFNetworking的函数。

14ifxucb

14ifxucb1#

你不能用Objective-C类。如果两个类别在一个类上实现了相同的选择器,那么使用哪一个是不确定的。这是ObjC中消息调度工作方式的结果。
对于纯Swift类,你可以选择使用哪种扩展方法,只需导入你真正想在代码中使用的框架,对于Swift类的扩展,则使用静态调度。

相关问题