Xcode 10 beta2:无法在没有参数的情况下调用类型 'UIView' 的初始值设定项
Xcode 10 beta2: Cannot invoke initializer for type 'UIView' with no arguments
我已经下载了Xcode 10 beta2 并重建了我的项目,代码如:
let someView = UIView()
出现以下错误:
Cannot invoke initializer for type 'UIView' with no arguments
很奇怪。有人在使用 Xcode 10 beta2 时遇到过这些构建错误吗?
试试这个
let someView = UIView(frame: CGRect.zero)
对我有用
只需添加 "frame" 参数:
UIView(框架:CGRect.zero)
(或任何你需要的)
在我的代码中,我像这样设置视图,然后添加约束(基本上覆盖框架参数)。
同样适用于 UIView、UILabel、UIScrollView 和其他...
对于 UIButtons,添加 "type" 参数:
UIButton(类型:UIButtonType.custom)
对我来说,这是通过扩展 NSObjectProtocol:
extension NSObjectProtocol where Self: UIView
我通过将 NSObjectProtocol 替换为 UIView 符合的任何其他协议来修复它。在我的例子中是 UIAppearance:
extension UIAppearance where Self: UIView
经过几个小时的调试,我终于找到了问题。
我使用 pod SwiftTheme,将其升级到新版本后,这些错误都消失了。
看到这个commit。
我已经下载了Xcode 10 beta2 并重建了我的项目,代码如:
let someView = UIView()
出现以下错误:
Cannot invoke initializer for type 'UIView' with no arguments
很奇怪。有人在使用 Xcode 10 beta2 时遇到过这些构建错误吗?
试试这个
let someView = UIView(frame: CGRect.zero)
对我有用
只需添加 "frame" 参数: UIView(框架:CGRect.zero) (或任何你需要的)
在我的代码中,我像这样设置视图,然后添加约束(基本上覆盖框架参数)。
同样适用于 UIView、UILabel、UIScrollView 和其他... 对于 UIButtons,添加 "type" 参数: UIButton(类型:UIButtonType.custom)
对我来说,这是通过扩展 NSObjectProtocol:
extension NSObjectProtocol where Self: UIView
我通过将 NSObjectProtocol 替换为 UIView 符合的任何其他协议来修复它。在我的例子中是 UIAppearance:
extension UIAppearance where Self: UIView
经过几个小时的调试,我终于找到了问题。
我使用 pod SwiftTheme,将其升级到新版本后,这些错误都消失了。
看到这个commit。