Swift中的(set)关键字

4

我最近在浏览苹果的DemoBots示例时,发现了以下内容:

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

(set)到底是什么作用?这里还有其他选项(如果有的话)可供选择吗?

1个回答

9
这意味着只有setter是私有的。因此,currentSceneMetadataget访问权限是默认的——即内部的——但set的访问权限是私有的。因此,它只能从同一源文件中进行更改。
确认链接:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html 编辑:您甚至可以像这样做:
public private (set) var name: String

这意味着该名称的访问级别对于 setterprivate,而对于 getterpublic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接