在我的项目中我使用两个库:
这两个库都扩展了 UIKit 的许多类。当我尝试编译项目时发生错误:
我试图寻找解决方案,但每个建议都不要使用两个导致冲突的库。有机会解决这样的问题吗?也许是编译器中的一些优先级或代码中的一些转换?
环境:
- Xcode 9.3
- swift 3.3
- Material 2.14.0
- SwifterSwift 4.1.1
最佳答案
我个人不会使用它们来设置按钮,而是这样做:
class RoundedButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
self.layer.shadowColor = UIColor.darkGray.cgColor
self.layer.shadowOpacity = 0.7
self.layer.shadowOffset = CGSize(width: 1, height: 1)
self.layer.shadowRadius = 2.0
self.backgroundColor = UIColor.white
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
如果您想使用其中一个库,您可能必须选择一个并删除另一个。或者对导入的内容挑剔/小心。他们似乎有很多相同的扩展。
但在此之前,请查看此链接:https://github.com/SwifterSwift/SwifterSwift/issues/176
关于swift - 解决类的歧义扩展属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50046855/