例如,我的类中有一个名为 ceil
的属性。在函数内部,我想调用全局函数 ceil
。我该怎么做?
class Example : BaseClass {
var ceil : Double { return ceil(self); } // Error: Cannot call value of non-function type 'Double';
func round : Double { return round(self); } // Infinite recursive
var flooring : Double { return floor(self); } // Success
}
但如果我不想使用 ceiling
。我想使用 ceil
。在这种情况下我该怎么做?是否可以?我在想,如果可能的话,我是否可以调用全局函数,例如 Math.ceil(self)
。
最佳答案
您可以使用 var ceil : Double { return Darwin.ceil(self) }
您应该为您的用例使用扩展,无需创建新类。这样您就可以在 Double
上随时使用这些方法,而无需实例化新类
extension Double {
var ceil : Double { return Darwin.ceil(self) }
var floor : Double { return Darwin.floor(self) } // Success
}
关于swift - 如何在同名的方法/属性变量中调用全局函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50150080/