我更新到 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 并且出现了非常奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 Beta 6 不支持 iOS 10 Beta 7 sdk

更新到 Xcode 7 Beta 5 并收到此错误:失败,退出代码 6

Xcode 8 beta 6 中的 performActionForShortcutItem

XCode 8 Beta 6 中引入的 UISlider 错误的解决方法?

Xcode 8 Beta 6 文本断断续续且失真

Xcode 6 Beta / Swift - Playground 未更新