(设置)swift中的关键字

时间:2015-12-08 19:53:36

标签: swift

我最近在浏览Apple的DemoBots示例时遇到过:

/// The scene that is currently being presented.
private (set) var currentSceneMetadata: SceneMetadata?

(set)究竟做了什么以及其他选项(如果有的话)可以在这里找到?

1 个答案:

答案 0 :(得分:8)

这意味着只有setter是私有的。因此 get currentSceneMetadata 访问权限是默认的 - 这是内部的 - 但 set 的访问权限是私有的。所以它只能在同一个源文件中更改。

确认链接:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

编辑:您甚至可以这样做:

public private (set) var name: String

表示 setter 的名称访问级别为私有,而 getter 的访问级别为公开