有没有办法让方法成为别名?将Swift方法分配给变量
例如,我有一个课程,用于计算Circle:面积,周长等。数学领域被写为“A”,圆周为“C”,半径为“r”,但是对于普通人和为了清晰的代码,使用全名来进行这样的计算显然是更好的。因此,我想要班级成员“C”和班级成员“周长”做基本相同的事情。
显而易见的方法是将方法分配给一个变量......但调用这种方法并不复杂。下面的代码:
class Circle: parentClass {
let π = M_PI
...
// here I try to "alias" a method
let C = circumference
func circumference() -> Double {
return 2 * self.radius * π
}
}
现在调用方法:
let instance = Circle()
// the line below actually calls instance.circumference
// but does not look clean enough to be useful
instance.C(instance)()
是否有更聪明的方式来做到这一点?
您可以转发呼叫,对吧? 'func c() - > Double {return self.circumference()}'。 – 2015-02-10 08:37:59
是的,但我认为有比旧的包装更优雅的方法。 – Rilakkuma 2015-02-10 08:42:40