Swift 变量对外只读,对内可读写

2017-01-18  本文已影响170人  小道萧兮

项目中经常需要创建这样一种变量:对内可读写,但对外是只读的。在 OC 中,只需在 .h 文件中将属性定义为 readonly,而在 .m 文件中将该属性重新定义为 readwrite 即可。

可是在 Swift 中却没有这样让我们重新定义权限的机会,那么我们该如何去创建这样的变量呢?

Swift中的实现方式:

class Person {
    private(set) var name : String!
}

别看有 private 就以为其他类不能访问 name 属性了,其实只是 setter 方法是私有的,所以在其他类中是可以访问 name 属性的,只是不能修改而已,而在 Person 类中是读写都可以。

上一篇 下一篇

猜你喜欢

热点阅读