Swift 2 升级 Swift 3 在许多方法中编译错误,例如 willTransitionToTraitCollection:newCollection:withTransitionCoordin

Posted

技术标签:

【中文标题】Swift 2 升级 Swift 3 在许多方法中编译错误,例如 willTransitionToTraitCollection:newCollection:withTransitionCoordinator【英文标题】:Swift 2 upgrade Swift 3 compile error in many method such as willTransitionToTraitCollection:newCollection:withTransitionCoordinator 【发布时间】:2016-07-28 09:13:57 【问题描述】:

当我使用 swift 3 运行一些旧代码,并将它们转换为最新的 swift 3 时,我发现方法编译错误

    override func willTransitionToTraitCollection( newCollection: UITraitCollection,
      withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) 

编译器告诉我“方法不会覆盖其超类中的任何方法”

我应该导入一些模块吗?

【问题讨论】:

删除override关键字... Swift protocols: method does not override any method from its superclass的可能重复 【参考方案1】:

在我的 Xcode 8 beta 3 的 Swift 编辑器中:

class MyViewController: UIViewController 
    //Wait hear  ↓
    willTransition

我有这个建议:

class ViewController: UIViewController 
    //Wait hear  ↓
    override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) 
        <#code#>
    

(您需要删除所有其他语法错误以获得更好的建议。)

无论如何,您不应该自己做所有事情。让 Swift 去做。


willTransitionToTraitCollection:withTransitionCoordinator: 的新文档在这里:

willTransitionToTraitCollection:withTransitionCoordinator:

【讨论】:

你真好..swift 3改变了很多让我困惑的方法:(

以上是关于Swift 2 升级 Swift 3 在许多方法中编译错误,例如 willTransitionToTraitCollection:newCollection:withTransitionCoordin的主要内容,如果未能解决你的问题,请参考以下文章

Vapor 3 Swift 4 如何制作计时器

升级到 Xcode 8 并将语法从 swift 2.3 转换为 swift 3.0 后文件丢失警告

将 Swift 3 升级到 4,目标 c 中不再有 swift 扩展

Swift进阶之内存模型和方法调度

Xcode 10, Swift 4.2及iOS 12升级适配

升级到 Swift 3 时使用未声明的类型