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







网友评论