传递给不带参数的调用的参数进入 Swift 4

Argument passed to call that takes no arguments getting in Swift 4

我正在 swift 学习一些东西。我正在使用版本 Swift 4.

我正在尝试做一些覆盖方法的事情。

class cricket {
    func print() {
        print("Super class called")
    }
}

class tennis : cricket {
    override func print() {
        print("Sub class called")

    }
}

let circInstance = cricket()
circInstance.print()

let tennisInstance = tennis()
tennisInstance.print()

但是,如果我 运行 在我 Xcode 的操场上编写上述程序,则会在打印语句中出现以下错误。

error: MyPlayground.playground:508:15: error: argument passed to call that takes no arguments
        print("Super class called")
             ~^~~~~~~~~~~~~~~~~~~~~

error: MyPlayground.playground:514:15: error: argument passed to call that takes no arguments
        print("Sub class called")
             ~^~~~~~~~~~~~~~~~~~~

有什么建议吗?

您的名称与本地方法有冲突。您必须使用限定名称:

Swift.print("Super class called")

否则您正在尝试调用不带参数的 self.print()

Swift. 这里是 Swift Standard Library module that contains the print 函数的名称。