ObjectiveC.swift来自标准库的文件包含围绕228行的以下几行代码:
ObjectiveC.swift
extension NSObject : Equatable, Hashable { /// ... open var hashValue: Int { return hash } }
open var在这种情况下是什么意思,或者open通常是什么关键字?
open var
open
open 是Swift 3中的新访问级别,随实现而引入
从2016年8月7日开始,Swift 3快照和Xcode 8 beta 6都可以使用它。
简而言之:
public
那么open是什么public曾经在以前的版本雨燕和的访问public受到限制。或者,如Chris Lattner在 SE-0177中所述:允许区分公共访问权限和公共可重写性:
现在,“开放”只是“比公众更公开”,提供了一个非常简单和干净的模型。
在您的示例中,open var hashValue是一个可访问的属性,可以在NSObject子类中覆盖它。
open var hashValue
NSObject
有关更多示例和详细信息,请查看SE-0117。