OC中,成员变量和属性区别
来源:互联网 发布:麒麟外推软件 编辑:程序博客网 时间:2024/05/23 20:45
在OC中,首先看一下成员变量和属性的声明
成员变量的表示如下:
#import <Foundation/Foundation.h>@interface animal : NSObject{ @public NSString *name; @public NSString *height;}@end
这里的name 和 height 就称之为OC的成员变量。
而属性的声明如下:
#import <Foundation/Foundation.h>@interface animal : NSObject@property (nonatomic,strong) NSString *name;@property (nonatomic,strong) NSString *heigth;@end
这中间的name 和 height 就不是成员变量的声明了,而是属性的声明。
那么,成员变量和属性在.m文件中有什么区别呢?
当使用属性时,.m文件会自动生成get和set方法,这个时候编译器会自动生成一个成员变量_name和_height。所以在使用属性声明时,使用self.name和_name,是没有区别的。
然而,如果在.h文件中使用的是成员变量,在.m中使用self.name或者self.height就会报错,这是因为OC中的.语法实际上是进行的方法的调用。当self.name=@”xxxx”时,调用的是name的setter方法,而NSString *str = self.name调用的是name的getter方法。但是我们并没有定义这些方法,所以会报错,应改成self->name。
0 0
- OC中,成员变量和属性区别
- OC中属性和成员变量的区别和使用
- OC 中成员变量和属性的区别及联系
- OC中成员变量和属性变量
- OC 成员变量和属性的区别 .
- OC 成员变量和属性的区别
- OC 成员变量和属性的区别
- OC 成员变量和属性的区别 .
- OC 成员变量和属性的区别 .
- OC 成员变量和属性的区别
- OC成员变量和属性
- OC中类的属性与成员变量的区别
- iOS中成员变量和属性区别
- iOS中成员变量和属性区别
- oc基础2属性和成员变量
- 转载,自用,iOS中成员变量和属性的区别
- 解惑——iOS中成员变量和属性区别
- iOS Category中添加属性和成员变量的区别
- Eclipse启动loading descriptor for xx项目启动报错解决
- Asterisk manager API(AMI)文档(中文版)
- 提高Java学习效率的10个小计划
- MySQL优化-转
- JSP文件的构成(二)
- OC中,成员变量和属性区别
- 第一个html代码
- Android http java.net.SocketException: sendto failed: EPIPE 解决方案
- Ubuntu格式化U盘
- 手把手教大家完成一个Calculator的设计
- HDOJ 5973 Game of Taking Stones
- window下spyder的快捷键
- C语言读取指定文件夹下的所有文件(各种信息)
- css权威指南(第三章)笔记