未接受Swift函數參數。缺少論點?如何將參數傳遞給Swift中的函數?致電
Calculate(theA, theB) //error: Missing argument label 'sideB:' in call
func Calculate(sideA: Int, sideB: Int) -> Int {
var ans = sideA + sideB
return ans;
}
未接受Swift函數參數。缺少論點?如何將參數傳遞給Swift中的函數?致電
Calculate(theA, theB) //error: Missing argument label 'sideB:' in call
func Calculate(sideA: Int, sideB: Int) -> Int {
var ans = sideA + sideB
return ans;
}
您在函數調用中缺少sideB:
。我不想重寫你的代碼(因爲你發佈了一個圖片),但是這裏是工作函數調用。
func calcButton(sender: AnyObject) {
let a: Int = 10
let b: Int = 11
calculate(a, sideB: b) //<-- Missing it here
}
func calculate(sideA: Int, sideB: Int) -> Int {
let a = sideA + sideB
return a
}
,你可能還需要有兩個變量的函數調用,這樣就可以做到這一點,而不是:
func calcButton(sender: AnyObject) {
let a: Int = 10
let b: Int = 11
calculate(sideA: a, sideB: b)
}
func calculate(sideA A: Int, sideB B: Int) -> Int {
return A + B
}
只是一個供參考,使用tab完成,而不是寫出來的功能。 Xcode會讓你知道所有帶佔位符的函數變量,所以你可以鍵入它們。
你錯過了swift 3中的sideB param名字第一個參數是可選的,但第二個參數是必須的_在那裏這是一個下劃線。它改變了該方法的調用方式。爲了說明這一點,這裏有一個很簡單的功能:
func doStuff(thing: String) {
// do stuff with "thing"
}
它是空的,因爲它的內容並不重要。相反,讓我們關注它是如何被調用的。現在,它被這樣調用:
doStuff(thing: "Hello")
當您調用doStuff()函數時,您需要編寫thing參數的名稱。這是Swift的一個特性,可以幫助您更輕鬆地閱讀代碼。但是,有時候,爲第一個參數命名並不合乎情理,通常是因爲它內置於方法名稱中。
出現這種情況時,您可以使用下劃線是這樣的:
func doStuff(_ thing: String) {
// do stuff with "thing"
}
,意思是「當我把這個功能我不想寫東西,但我想用的東西里面的函數指已通過的值。