我最近在浏览Apple的DemoBots示例时遇到过:
/// The scene that is currently being presented.
private (set) var currentSceneMetadata: SceneMetadata?
(set)
究竟做了什么以及其他选项(如果有的话)可以在这里找到?
答案 0 :(得分:8)
这意味着只有setter是私有的。因此 get 的 currentSceneMetadata 访问权限是默认的 - 这是内部的 - 但 set 的访问权限是私有的。所以它只能在同一个源文件中更改。
编辑:您甚至可以这样做:
public private (set) var name: String
表示 setter 的名称访问级别为私有,而 getter 的访问级别为公开。