@property参数-set,get方法-setter,getter方法,-Objective-C基础-IOS001
来源:互联网 发布:写轮眼隐形眼镜淘宝 编辑:程序博客网 时间:2024/06/02 04:46
1.生成get与set方法的声明
2.生成get与set方法的简单实现
3.如果你没有声明相对应的成员变量,那么它会自动生成一个_开头的成员变量(私有变量)
@property的参数类型
1.与set方法内存管理相关参数
1)retain:要生成符合内存管理原则的set方法(应用于对象类型);
2)assign:直接赋值(对象类型,基本数据类型);
3)copy
2.多线程相关
1)nonatomic:不生成多线程管代码,使用这个就可以(效率高一点);
2)atomic:生成多线程管代码(不写默认是这种方式)。
3.是否要生成set与get方法
1)readwrite
2)readonly
4.set与get方法名称相关的参数
1)setter:设置生成的set方法名称
2)getter:设置生成的get方法名称
例如:@property (nonatomic, assign) int height;
Xcode自动生成
对应的set方法:- (void)setHeight:(int)height;
get方法:- (int)height; // special
而换做为setter方法时:
@property (nonatomic, assign, setter = fun:) int height;
调用set方法时,[p fun:100];
调用get方法时,NSLog(@"height is", p.height); //未改变的get方法;
而换做getter方法时:
@property (nonatomic, assign, setter = fun:, getter = getFun) int height;
调用时:[p fun:100];
int b = [p getFun];
注释:
其中p.height = 100; //实质是调用set方法
NSLog(@"height is", p.height); //实质是调用get方法
总结:
改变set与get方法名称多用于BOOL类型的变量;
@property (nonatomic, assign, setter = isDied:, getter = isDied) BOOL isDeid;
[p isDied:NO]; //set
[p isDied]; //get
p.isDied = YES; //set
BOOL result = p.isDied; //get
- @property参数-set,get方法-setter,getter方法,-Objective-C基础-IOS001
- Objective-C,ios,属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- [Objective-C] property setter/getter via @property
- @property简化setter、getter方法
- Objective-C类的setter方法getter方法如何写
- setter方法 、getter方法、点语法、@property
- Objective-C中 getter与setter方法介绍
- objective-c中的属性定义及getter / setter方法
- OC - @property与setter,getter方法
- property 定义 getter 跟 setter 方法
- property属性的setter、getter方法
- Objective-C的基础setter和getter
- Objective-c set方法,get方法
- property Get Set方法
- 【Java基础】setter与getter方法
- Object_c基础——getter、setter方法和@property、self关键字
- 黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法
- 黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法
- day22/AwtDemo1.java
- RUBY基础入门
- 2011705918
- xUtils系列之DbUtils-NotNull注解
- day22/AwtDemo.java
- @property参数-set,get方法-setter,getter方法,-Objective-C基础-IOS001
- IOS开发 修改控制栏样式
- day22/FrameDemo.java
- Java 生成二维码
- 为什么在重写了equals()方法之后也必须重写hashCode()方法
- day22/MouseAndKey1.java
- xUtils系列之DbUtils-Foreign注解
- 2830 蓬莱山辉夜 优先队列的简单应用
- redis Installation