object c @synthesize 自动生成setter,getter方法
来源:互联网 发布:kali linux能干什么 编辑:程序博客网 时间:2024/05/18 18:15
Objective-C语言关键词,与@synthesize配对使用。 功能:让编译器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。 如: 1、在头文件中: @property int count; 等效于在头文件中声明2个方法: - (int)count; -(void)setCount:(int)newCount; 2、实现文件(.m)中 @synthesize count; 等效于在实现文件(.m)中实现2个方法。 - (int)count { return count; } -(void)setCount:(int)newCount { count = newCount; } 以上等效的函数部分由编译器自动帮开发者填充完成,简化了编码输入工作量。
编辑本段格式
声明property的语法为: @property (参数1,参数2) 类型 名字; 如: @property(nonatomic,retain) UIWindow *window; 其中参数主要分为三类: 读写属性: (readwrite/readonly) setter语意:(assign/retain/copy) 原子性: (atomicity/nonatomic) 各参数意义如下: readwrite 产生setter\getter方法 readonly 只产生简单的getter,没有setter。 assign 默认类型,setter方法直接赋值,而不进行retain操作 retain setter方法对参数进行release旧值,再retain新值。 copy setter方法进行Copy操作,与retain一样 nonatomic 禁止多线程,变量保护,提高性能编辑本段参数类型详解
参数中比较复杂的是retain和copy,具体分析如下:getter分析
1、 @property(nonatomic,retain)test* thetest; @property(nonatomic ,copy)test* thetest; 等效代码: -(void)thetest { return thetest; } 2、@property(retain)test* thetest; @property(copy)test* thetest; 等效代码: -(void)thetest { [thetest retain]; return [thetest autorelease]; }setter分析
1、 @property(nonatomic,retain)test* thetest; @property(retain)test* thetest; 等效于: -(void)setThetest:(test *)newThetest { if (thetest!= newThetest) { [thetestrelease]; thetest= [newThetest retain]; } } 2、@property(nonatomic,copy)test* thetest; @property(copy)test* thetest; 等效于: -(void)setThetest:(test *)newThetest { if (thetest!= newThetest) { [thetestrelease]; thetest= [newThetest copy]; } } 0 0
- object c @synthesize 自动生成setter,getter方法
- 黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法
- 黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法
- eclipse-自动生成getter和setter方法
- Objective-c - setter/getter方法的自动生成:(Xcode4.4版本之前)
- Objective-c - setter/getter方法的自动生成(Xcode4.4版本开始)
- setter,getter,@property,@synthesize
- Myeclipse 下自动生成getter和setter方法
- Eclipse自动生成Getter、Setter和构造方法
- MyEclipse自动生成Getter、Setter和构造方法
- 玩转Eclipse — 自动生成setter和getter方法
- Eclipse自动生成Getter、Setter和构造方法
- Eclipse自动生成Getter,Setter和构造方法
- 玩转Eclipse — 自动生成setter和getter方法
- 生成getter与setter方法
- C语言 @property和@synthesize搭配使用声明和实现getter和setter方法
- Object-C 学习笔记(七)---setter&getter
- Objective-C,ios,属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- winform程序打包后 只能运行一个
- 后去擦新生教学楼的所有楼道地面。归队。”
- 我就马上,你,美女,美女
- 定制您的“微信/来往/易信和微博”的原创内容
- CentOS 防火墙配置 80端口
- object c @synthesize 自动生成setter,getter方法
- fedora20 KDE使用wine安装RTX
- android configChanges属性
- IOS 6 自动布局 入门-1(IOS中autolayout和之前版本autoresize的差异)
- win8系统,电脑作wifi无线路由器
- 职场的一些修行(根据自身的感悟有所修剪)
- 快用苹果助手的免流量活动,你造?
- SqlServer_批量替换某字段值所包含的某字符串;
- 五行连环拳