IOS基础——实例变量四种范围类型
1.为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性。
但是为了提供灵活性,苹果也让开发者显示设置范围(四选一)。
2.四种编译指令如下:
@private
实例变量只能被声明它的类访问。
@protected
实例变量能被声明它的类和子类,所有没有显示指定范围的实例变量都是@protected。
@public
实例变量可以在任何地方被访问。
@packge
使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private。
OC中的@package与C语言中的变量和函数的private_extern类似。任何在实现类的镜像之外想使用这个实例变量都会引发link error。
这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步