Swift 魔法:公开 Getter,隐藏 Setter
在我之前发布的文章 构造器注入(Constructor Injection) 中,有这样的案例:在 struct Counter { // `count` 在这里必须是一个 var // 但我并不想将 `count` 设为公开的, // 所以加了 private 定为私有的 private var count: Int // 现在就只能通过这种方式在外部访问 `count` 了 func getCount() { return count } } 这种方式并不优雅,但却是我唯一能想到的解决方案。幸运的是,现在我找到了一个更好的方式! Twitter 上 @mipstian 指出可以通过设置私有的 Setter 方法来达到效果,就像这样: struct Counter { // 现在就只有setter是private的了! private(set) var count: Int } 对当前案例来说,将 public struct Counter { // 现在就只有setter是private的了! public private(set) var count: Int } 我也不知道我怎么就错过了这个知识(可能是因为我一直都尽量使用 -- 以上全文完,但是作为一个走心的翻译组,我们发现我们还翻译过其它类似的文章,以下链接可以供参考: Swift:带有私有设置方法的公有属性
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |