class TTTTT {
var mothod1: (String, String) -> Array<String> {
return {
[$0.0,$0.1]
}
}
var mothod2: (String) -> Array<String> {
return {
[$0]
}
}
}
let test = TTTTT()
test.mothod1("s", "sss")
test.mothod2("ssa")
这段代码如何理解,
mothod1是方法么?
mothod1的参数是元组?
mothod2的参数是一个字符串?
这种写法有什么优势?
这是方法作为属性么?
下面这样写为啥不行
研究了一会,
是闭包类型的变量
mothod1的参数是元组
原因:
mothod1, mothod2应该是闭包类型
mothod1和mothod2都是計算屬性。也就是說每次呼叫都會執行一次閉包裡的程式碼。所以可以把這種特性用來動態計算結果。
var mothod1: 後面的都是參數 {
表示mothod1變數的型別是 傳入元祖回傳數組的閉包
對了。單字寫錯了。 method 。 。 。 。