传递给不带参数的调用的参数进入 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 函数的名称。
我正在 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 函数的名称。