objective-c属性

objective-c属性

ID:38160943

大小:515.79 KB

页数:5页

时间:2019-06-06

objective-c属性_第1页
objective-c属性_第2页
objective-c属性_第3页
objective-c属性_第4页
objective-c属性_第5页
资源描述:

《objective-c属性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、@property与@synthesize配对使用1、@property和@synthesize都是Objective-c关键字。2、@property和@synthesize使用都是配对使用的。3、在@property:声明用于自动创建property属性变量的getter和setter.在@Synthesize:声明实现了property属性变量的getter和setter.4、@property声明放在.h头文件中。在interface:@property[(attribute1,attribute2,attribute3)]dataType(数

2、据类型)variableName(变量名)@Synthesize声明放在.m实现文件中在implementation:@synthesizevariableName例子:创建Attribute工程添加GetterAndSetter类内容如图:5、自从xcode4.5版本及以后的版本,@synthesize可以省略。1、AppDelegate类中的代码如下:2、启动运行界面和结果结果:1、属性列表参数的讲解第一个位置的属性atomic:线程保护(默认),一种线程保护技术,防止在未完成读写操作时,被另一个线程读取,造成数据错误,耗费系统资源。(原子性访问)

3、nonatomic:非原子性访问,不加同步,禁止多线程。第二个位置的属性assign:针对于基础数据类型和C数据类型(默认)setter方法直接赋值,不进行retain操作,不会发生引计数变化。retain:setter先进行release旧值,然后retain新值。代码表示:@property(retain)Dog*thedog等价于:-(void)setThedog(Dog*)newThedog{if(thedog!=newThedog){[thedogrelease];thedog=[newThedogretain];}}-(Dog*)thedo

4、g{[thedogretain];return[thedogautorelease];}copy:setter进行Copy操作,先release,然后再copy代码:@property(copy)Dog*thedog等价代码:-(void)setThedog(Dog*)newThedog{if(thedog!=newTheDog){[thedogrelease];thedog=[newThedogcopy];}}-(Dog*)thedog{[thedogretain];return[thedogautorelease];}第三个位置的属性可读属性:re

5、adonly,readwritereaderwrite:(默认)通过加入这个readwrite属性变量就会获取getter和setter方法。Readonly:这个属性加入之后就是表示改变量只能有getter方法,不含有setter方法。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。