Swift类中如何创建一个对外只读对内可读写的属性
来源:互联网 发布:淘宝查优惠券插件 编辑:程序博客网 时间:2024/05/29 15:20
很简单用private修饰符,后面跟限制关键字set:
class Day{ private(set) var rawValue:Int = 0 func showRawValue(){ print("raw is \(rawValue)") } func forwardRawValue(){ rawValue += 1 }}
不过如上上述类定义在playground中的话,实际你会发现如果去掉后面的(set)照样可以在外部访问:
let day = Day()day.rawValue+=1 //that's OK!day.forwardRawValue()day.showRawValue()
这是因为Swift中private修饰符的含义和传统面向对象中的不太一样,在Swift中private只是限制在同一个文件中的可见性.所以要想它真正发挥作用,你必须在外部文件中才能体会到:
class ViewController: UIViewController { func test(){ let day = Day() //day.rawValue = 99 Error!!! day.showRawValue() day.forwardRawValue() day.showRawValue() }}
That’s OK! ;]
1 0
- Swift类中如何创建一个对外只读对内可读写的属性
- 对内读写对外只读的方法
- 超快速创建一个可读写的Samba Server
- Linux如何将只读分区重新mount可读写分区
- Linux如何将只读分区重新mount可读写分区
- 使用VirtualAlloc()创建虚拟内存,修改可读、可写属性
- 使用VirtualAlloc()创建虚拟内存,修改可读、可写属性
- 挂载android只读文件系统为可读写
- 在VC中,如何修改文件的只读属性设置
- 在oc中如何修改控件的一些只读属性
- 如何去掉XP系统中文件夹的只读属性
- DDR和PORT是 可读可写的,而PIN是只读的
- Ubuntu下Samba服务器的简单设置,只读,可读写等权限控制。
- oracle中如何跨不同session支持可读写的全局变量
- android 平台自定义可读写的ro属性
- Swift中创建一个UIBarButtonItem的分类
- swift 2.0 类中的计算属性 & 只读属性
- OC中对外不可变、对内实现可变
- Java泛型
- android ViewPager在拖拽到左边和右边的时候,禁止显示黄色或者蓝色的渐变图片的解决方法
- CSS为div添加尖角样式
- java.lang.UnsupportedClassVersionError解决方法
- ubuntu采用apt-get安装软件出现依赖问题的解决方案
- Swift类中如何创建一个对外只读对内可读写的属性
- 使用OnTouchListener()的一个坑,监听不到MotionEvent.ACTION_UP
- 打开系统相册裁剪图片,已解决裁剪大图的问题
- Linux下gdb调试程序及举例
- c语言的数组与指针问题
- Cocos2d-x学习笔记—内存管理机制
- DOM SAX和PULL解析
- sublimeText
- webRTC