Xcode 10 beta2:无法为没有参数的'UIView'类型调用初始化程序

时间:2018-07-01 14:52:06

标签: ios swift xcode xcode10

我已经下载了Xcode 10 beta2并重建了我的项目,代码如下:

let someView = UIView()

出现以下错误:

Cannot invoke initializer for type 'UIView' with no arguments

Error Snapshort

很奇怪。使用Xcode 10 beta2时,有人遇到过构建错误吗?

4 个答案:

答案 0 :(得分:1)

对我来说,它是通过扩展NSObjectProtocol来推理的:

extension NSObjectProtocol where Self: UIView

我通过将NSObjectProtocol替换为UIView符合的任何其他协议来修复它。在我的情况下是UIAppearance:

extension UIAppearance where Self: UIView

答案 1 :(得分:0)

尝试

let someView = UIView(frame: CGRect.zero)

对我有用

答案 2 :(得分:0)

只需添加“ frame”参数: UIView(框架:CGRect.zero) (或您需要的任何内容)

在我的代码中,我像这样设置视图,然后添加约束(基本上覆盖了框架参数)。

同样适用于UIView,UILabel,UIScrollView和其他... 对于UIButton,请添加“ type”参数: UIButton(类型:UIButtonType.custom)

答案 3 :(得分:0)

经过数小时的调试,我终于找到了问题。

我使用pod SwiftTheme,将其升级到新版本后,这些错误已经消失。

enter image description here

请参阅此commit