我想了解是否可以将属性设置器作为参数传递。
说我有这个简单的课程
class MyValue {
private var privateValue: Int = 0
var value: Int {
get {
return privateValue
}
set {
privateValue = newValue
}
}
}
一个需要回调的函数:
func giveValue(callback: Int -> Void) {
callback(1337)
}
现在,如果我想将值设置为回调值,我会这样做:
let myValue = MyValue()
giveValue { i in
myValue.value = i
}
print(myValue.value) // 1337
我知道我可以做到
giveValue { myValue.value = $0 }
但是在Swift 2中是否有一种方法可以直接将setter作为参数?类似于:
giveValue(myValue.value.setter)