标准库中的ObjectiveC.swift
文件在第228行附近包含以下几行代码:
extension NSObject : Equatable, Hashable {
/// ...
open var hashValue: Int {
return hash
}
}
在这种情况下,open var
是什么意思,或者open
这个关键词通常是什么?
标准库中的ObjectiveC.swift
文件在第228行附近包含以下几行代码:
extension NSObject : Equatable, Hashable {
/// ...
open var hashValue: Int {
return hash
}
}
在这种情况下,open var
是什么意思,或者open
这个关键词通常是什么?
open
是Swift 3中的一个新访问级别,随实现一起引入
从2016年8月7日起,Swift 3 snapshot将提供该功能,
简而言之:
open
级是accessible级和subclassable级public
级是accessible级,但在public
级之外是not subclassable级所以open
是以前的public
"开放"现在只是"更公开而非公开",提供了一个非常简单和干净的模型.
在您的示例中,open var hashValue
是一个可访问的属性,可以在NSObject
个子类中重写.
有关更多示例和细节,请参阅SE-0117.