在 Swift 4 中传递给不带参数的调用的参数

Posted

技术标签:

【中文标题】在 Swift 4 中传递给不带参数的调用的参数【英文标题】:Argument passed to call that takes no arguments getting in Swift 4 【发布时间】:2019-10-21 12:03:14 【问题描述】:

我正在快速学习一些东西。我使用的是 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")
             ~^~~~~~~~~~~~~~~~~~~

有什么建议吗?

【问题讨论】:

【参考方案1】:

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

Swift.print("Super class called")

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

Swift. 这里是包含print 函数的Swift Standard Library 模块的名称。

【讨论】:

谢谢,Swift.print() 是最新版的 swift print 语句语法吗? @AnilkumariosReactNative 这将适用于自 1.0 以来的所有 Swift 版本 知道了,谢谢 @AnilkumariOSReactNative 如果您没有创建冲突的print() 方法,则无需执行Swift.print("..."),只需执行print("...")。我建议您将方法名称更改为 printClass() 之类的名称以避免混淆。

以上是关于在 Swift 4 中传递给不带参数的调用的参数的主要内容,如果未能解决你的问题,请参考以下文章

错误:传递给不带参数 SwiftUI 的调用的参数

尝试将某些位置固定在 MapView 上时传递给不带参数的调用的参数

传递给在 SwiftUI 中不带参数的调用的参数

Swift 2:登录的 Alamofire POST 问题

调用不带括号的函数时如何传递参数[Javascript]

无法播放歌曲 Spotify SDK