IOS基础——实例变量四种范围类型

1.为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性。

   但是为了提供灵活性,苹果也让开发者显示设置范围(四选一)。

2.四种编译指令如下:

@private    

    实例变量只能被声明它的类访问。

 

@protected  

    实例变量能被声明它的类和子类,所有没有显示指定范围的实例变量都是@protected。

 

@public    

    实例变量可以在任何地方被访问。

 

@packge

    使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private。

    OC中的@package与C语言中的变量和函数的private_extern类似。任何在实现类的镜像之外想使用这个实例变量都会引发link error。

    这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放。

 

 

 

 

 

转载于:https://www.cnblogs.com/123qw/p/4340081.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值