我希望有一个类可以在运行时访问另一个类中的指定属性。我猜测如果我通过一个闭包或函数作为参数是可能的。例如:如何在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 –