iOS 类成员变量和局部变量的问题

成员变量定义问题:

property是为了提供给外部访问的,省去了get与set方法。如果你声明了property,而没有在interface声明变量,那么自动生成一个和property一样的变量名,默认的。在4.0之后可以乎约声明。个人觉得@public和@protected并没有很明确的区别,在他们作用范围内的对象,如果不将对象设置成@property,则该对象相当于 protected对象,只有子类和本身可以访问该对象;如果将对象设置成@property,则可以使使用者访问该对象。@private,顾名思义, 这里声明的就是私有对象。Objective-C中的private方法是通过category实现的,在实现文件中我们声明一个类的category,在这里面的方法就是private方法。类的对象是不可以进行调用的,同样由于该方法的声名是在类的实现文件中,所以子类也是不能重写该方法的。


局部变量和成员变量的区别:

1成员变量定义在类内部,局部变量定义在方法体内部。

2.成员变量可以不显示初始化,它可以由系统设定默认值;局部变量没有默认值,所以在初始化的时候要设定初始值。

3成员变量和局部变量在内存中的位置也不一样,成员变量在所在类被实例化后存放在堆内存中(堆里对象手动分配空间),而局部变量在所在方法调用时存放与栈内存空间中(根据对象大小自动分配空间)


属性与变量:

《语法官方文档》


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值