swift - 如何在同名的方法/属性变量中调用全局函数?

标签 swift function methods call naming

例如,我的类中有一个名为 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/

相关文章:

ios - UITapGestureRecognizer 静态方法崩溃

ios - 如何将图例添加到 SwiftChart 库

javascript - 每次特定函数运行时执行 Jquery

c# - 将一个方法作为参数传递给另一个方法

ios - 切换 UITextField 以在 Swift 中显示和隐藏

swift - 在 Swift 中返回实例类型

java - 如何找到链表中的第一个值?

java - 纵向打印数组 : java

javascript - JavaScript 中的人类口语密码生成器

Javascript 函数参数