swift - 解决类的歧义扩展属性

标签 swift xcode uikit cocoapods ambiguous

在我的项目中我使用两个库:

这两个库都扩展了 UIKit 的许多类。当我尝试编译项目时发生错误:

enter image description here

我试图寻找解决方案,但每个建议都不要使用两个导致冲突的库。有机会解决这样的问题吗?也许是编译器中的一些优先级或代码中的一些转换?

环境:

  • 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/

相关文章:

iphone - 使用 UIImagePickerController 时如何更改裁剪矩形的大小

ios swift - UITextField.tag 不起作用

swift - Storyboard或从 ViewController 到 Tabbar Controller 的 segue

c++ - 串行 Mac OS X 不断卡住/锁定/消失 USB 到 Arduino

swift - 为什么我的 Storyboard 中的第一个 navigationcontroller 对 tableviewcontroller 没有影响?

iphone - iOS 4 可以使用web view渲染非web内容web开发吗

swift - 如何使 ScrollView 内的 TableView 的滚动行为自然

ios - 日期格式化程序解析 JSON 日期

ios - 在 iOS 上使用 Swift 多次调用 Firebase 'Observe'

ios - 有什么方法可以让 "Validate Project Settings"警告在 Xcode 4.3/4.3.1 中消失?