我最近浏览了Apple 的DemoBots示例,我遇到了:
/// The scene that is currently being presented. private (set) var currentSceneMetadata: SceneMetadata?
具体(set)
做什么以及其他选项(如果有的话)可以在这里找到?
这意味着只有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是公共的.