簡體   English   中英

將我的應用程序轉換為新的Swift-錯誤“調用中的額外參數”

[英]Converting my application to new Swift - error “Extra argument in call”

最近,我將手表應用程序轉換為Swift 4,並收到以下錯誤消息:“調用中的額外參數'var2'”。 該代碼在具有數組/字典的Singleton中,以下是參考代碼:

class foo {

    static let sharedInstance = foo()

    var currentFlag: Bool = true
    var a:[(var1: Int, var2:Int, var3:Bool)] = []

    private init() {
    }

    func test(v1:Int, v2:Int) {
        a.append(var1: v1, var2: v2, var3: Bool(currentFlag)) // <-- error here 
    } 
}

請查看有關Swift 4的建議: SE-0110區分單元組和多參數函數類型

Beta中的一些實現詳細信息已更改,但是在您的情況下,您需要添加另一對括號:

func test(v1:Int, v2:Int) {
    a.append((var1: v1, var2: v2, var3: Bool(currentFlag)))
}

順便說一句,您將currentFlag聲明為Bool ,所以Bool(currentFlag)有點多余:

func test(v1:Int, v2:Int) {
    a.append((var1: v1, var2: v2, var3: currentFlag))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM