我的Utilities.swift中有一些简单的代码,因为我永远无法记住" uftwhatever"或数(自我)。
extension String {
func length() -> Int {
return count(self)
}
}
但这意味着要调用它我需要使用类似......
的东西let l = myString.length()
我更喜欢做...
let l = myString.length
但我无法弄明白。这可能吗?
答案 0 :(得分:1)
是的,有可能。您只需将其创建为只读计算属性,如下所示:
只读计算属性
具有getter但没有setter的计算属性称为a 只读计算属性。始终是只读计算属性 返回一个值,可以通过点语法访问,但不能 设置为不同的值。
请注意
您必须声明计算属性 - 包括只读计算 properties - 作为var关键字的变量属性,因为它们的 价值不固定。 let关键字仅用于常量 属性,表示一旦它们的值无法更改 被设置为实例初始化的一部分。
您可以通过简化只读计算属性的声明 删除get关键字及其大括号:
extension String {
var length: Int {
return count(self) // Swift 1.2
}
}
"Hello World".length // 11