我希望有一個類可以在運行時訪問另一個類中的指定屬性。我猜測如果我通過一個閉包或函數作爲參數是可能的。例如:如何在Swift中聲明屬性名稱的函數參數
class X {
let pointFunction : (Thing) -> (CGPoint)
init(pointFunction : (Thing) -> (CGPoint)) {
self.pointFunction = pointFunction
}
func action(#thing : Thing) {
var p = pointFunction(thing)
...
}
}
和
class func getPosition(thing : Thing) -> CGPoint {
return thing.whereAmI
}
創建十
時不過是有一些語法,我可以在whereAmI
只傳遞作爲函數名稱,然後通過getPosition
?然後,在action
方法我可以這樣做:
thing.pointFunction
什麼是「事」?它是一種類型還是需要使用多種類型? – ABakerSmith
它將是一個固定類型的類X. – rghome
如果你使它NSObject你可以使用KVC –