您的位置:首页 > 移动开发 > IOS开发

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

2014-03-22 13:41 204 查看
成员变量定义问题:

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

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

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

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

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

属性与变量:

《语法官方文档》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  局部变量 内存