没有参数的Swift函数

时间:2015-02-21 19:36:57

标签: swift

我的Utilities.swift中有一些简单的代码,因为我永远无法记住" uftwhatever"或数(自我)。

extension String {
    func length() -> Int {
        return count(self)
    }
}

但这意味着要调用它我需要使用类似......

的东西
let l = myString.length()

我更喜欢做...

let l = myString.length

但我无法弄明白。这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,有可能。您只需将其创建为只读计算属性,如下所示:

  

只读计算属性

     

具有getter但没有setter的计算属性称为a   只读计算属性。始终是只读计算属性   返回一个值,可以通过点语法访问,但不能   设置为不同的值。

     

请注意

     

您必须声明计算属性 - 包括只读计算   properties - 作为var关键字的变量属性,因为它们的   价值不固定。 let关键字仅用于常量   属性,表示一旦它们的值无法更改   被设置为实例初始化的一部分。

     

您可以通过简化只读计算属性的声明   删除get关键字及其大括号:

extension String {
    var length: Int {
        return count(self)   // Swift 1.2
    }
}


"Hello World".length // 11