Swift 变量对外只读,对内可读写
2017-01-18 本文已影响170人
小道萧兮
项目中经常需要创建这样一种变量:对内可读写,但对外是只读的。在 OC 中,只需在 .h
文件中将属性定义为 readonly
,而在 .m
文件中将该属性重新定义为 readwrite
即可。
可是在 Swift 中却没有这样让我们重新定义权限的机会,那么我们该如何去创建这样的变量呢?
Swift中的实现方式:
class Person {
private(set) var name : String!
}
别看有 private
就以为其他类不能访问 name
属性了,其实只是 setter
方法是私有的,所以在其他类中是可以访问 name
属性的,只是不能修改而已,而在 Person
类中是读写都可以。