从Swift 3.2迁移到Swift 4我使用autosavesInPlace收到错误

问题描述 投票:1回答:1

在macOS项目中,我以这种方式使用autosavesInPlace:

import Cocoa

class Document: NSDocument {

    override class func autosavesInPlace() -> Bool {
        return true
    }

}

这一直有效,直到该项目在Swift 3.2中,但在Swift 4中更新项目时,我收到此错误:

方法不会覆盖其超类中的任何方法

我怎样才能解决这个问题?

swift macos migration nsdocument
1个回答
2
投票

由于Swift 4 autosavesInPlace是一个属性(不是函数),所以你应该以这种方式覆盖:

class Document: NSDocument {
   override class var autosavesInPlace: Bool {
     return true
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.