我是iOS編程的新手,我被困在SWIFT的閉包功能中。我已經提到了很多教程,並發現閉包是自編的代碼,可以用於許多方面,例如。作爲函數調用的參數,函數定義中的參數,變量。我在下面給出一個關於代碼&問題的相關想法。如果我的理解錯了,請幫助我。我知道我在很多方面都錯了,所以請糾正我。在Swift中關閉?
1.1st部分
func TEST(text1:String,text2:String,flag: (S1:String,S2:String)->Bool)//In this line,I think,I am using flag is a closure which is passed as parameter in a function. And if so why doesn't it follow the standard closure syntax?
{
if flag(S1: text1, S2: text2) == true//I want to check the return type what flag closure gets when it compares the both string during function call. Why can't I write as if flag == true as flag is the name of the closure and ultimately refers to the return type of the closure?
{
print("they are equal")
}
else
{
//
}
}
第二部分
這部分是最麻煩的部分,真正讓我困惑時,我調用該函數。在這裏我也使用了相同的閉包。這裏發生了什麼?封口如何使用?它是捕捉價值還是其他東西?
TEST("heyy", text2: "heyy") { (S1, S2) -> Bool in
S1==S2
}
感謝您的關心。
我正在寫一個答案,但決定在我投入更多時間之前閱讀你的答案。這是+1 –