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

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

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

Swift中的实现方式:

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • OC中的实现方式 项目中经常需要创建这样一种变量,它对内可读写,但是对外是只读的,以前在OC中,实现很方便,只要在...
    今夜落大雨阅读 10,810评论 1 5
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,401评论 30 472
  • 307、setValue:forKey和setObject:forKey的区别是什么? 答:1, setObjec...
    AlanGe阅读 5,522评论 0 1
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 14,121评论 9 105
  • 我的爷爷是一个农民,靠双手种地带大我爸兄弟姊妹4人,还供我大伯读完本科,在我们老家农村也算是个传奇,他除种地之外还...
    潘纳阅读 1,526评论 0 0

友情链接更多精彩内容