我更新到 Xcode 8 beta 6 并且出现了非常奇怪的错误

Posted

技术标签:

【中文标题】我更新到 Xcode 8 beta 6 并且出现了非常奇怪的错误【英文标题】:I updated to Xcode 8 beta 6 and I am getting very weird errors 【发布时间】:2016-08-18 18:44:10 【问题描述】:

我刚刚更新到 Xcode 8 beta 6 并收到大量错误(不足为奇),我已经解决了大部分问题,但有两个错误我不确定如何修复。

为此我收到此错误Method does not override any method from its superclass

override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) 
    if(segue.identifier == "***")

    

为此我收到此错误init has been renamed to init(describing:)

return String(self.type)

【问题讨论】:

见SE-0116 & SE-0089 【参考方案1】:

Xcode 8 中的方法签名已更改,现在如下:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
   // Code here

【讨论】:

我相信上面的fun应该是func。以防万一有人剪切和粘贴此代码。感谢你的回答;以后我会记得检查方法签名是否有变化。【参考方案2】:

你应该使用

String(describing: self.type)

而不是

String(self.type)

【讨论】:

【参考方案3】:

基本上 AnyObject 现在在大多数函数中都是 Any

【讨论】:

以上是关于我更新到 Xcode 8 beta 6 并且出现了非常奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章