【发布时间】:2015-12-12 07:40:48
【问题描述】:
【问题讨论】:
标签: swift class types properties static
【问题讨论】:
标签: swift class types properties static
Effective Swift 1.2,static 属性现在允许在类中使用。
始终允许类具有存储属性。
【讨论】:
static 关键字定义类型属性。对于类类型的计算类型属性,您可以使用class 关键字来允许子类覆盖超类的实现。”如果您尝试定义 class 存储属性,您会收到一条错误消息,提示该语言“尚不”支持类存储属性:“class 类中尚不支持存储属性;您的意思是 '@987654327 @'?”
class而不是static。但是有一个performance benefit在减少动态调度。
来自Xcode 6.3 (Swift 1.2) release notes,下Swift Language Enhancements:
static现在允许在类中使用方法和属性(作为class final的别名)。您现在可以在类中声明静态存储属性,这些属性具有全局存储并且是惰性的 在首次访问时初始化(如全局变量)。
【讨论】:
static(在类的上下文中使用时)是class final 的别名。 final 表示该属性/方法不能被覆盖。您可能对The Importance of Being final 感兴趣。