@property和@synthesize可以自动生成某个类成员变量的存取方法
来源:互联网 发布:手机数据包解压软件 编辑:程序博客网 时间:2024/06/07 04:58
readwrite:这个属性是默认的情况,会自动为你生成存取器
assign:这个属性一般用来处理基础类型,比如int、float等等,如果你声明的属性是基础类型的话,assign是默认的,你可以不加这个属性
natomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题
readonly:只生成getter不会有setter方法
copy:这个会自动生成你赋值对象的克隆,相当于在内存中新生成了该对象的副本,这样一来,改变赋值对象就不会改变你声明的这个成员变量了
retain:会自动retain赋值对象
nonatomic:如果该对象无需考虑多线程的情况,请加入这个属性,这样会让编译器少生成一些互斥加锁代码,可以提高效率
http://blog.csdn.net/beautifularea/article/details/6886604
assign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。
assign:简单赋值,不更改索引计数(Reference Counting).使用assign:对基础数据类型 (NSInteger)和C数据类型(int,float, double, char,等)
retain:指定retain应该在后面的对象上调用,前一个值发送一条release消息。你可以想象一个NSString实例,它是一个对象,而且你可能想要retain它。
retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1,使用retain:对其他NSObject和其子类,retain,是说明该属性在赋值的时候,先release之前的值,然后再赋新值给属性,引用再加1。
copy:指定应该使用对象的副本(深度复制),前一个值发送一条release消息。基本上像retain,但是没有增加引用计数,是分配一块新的内存来放置它。copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。copy:建立一个索引计数为1的对象,然后释放旧对象,copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。
readonly:将只生成getter方法而不生成setter方法(getter方法没有get前缀)
。
readwrite:默认属性,将生成不带额外参数的getter和setter方法(setter方法只有一个参数)
。
atomic:对于对象的默认属性,就是setter/getter生成的方法是一个原子操作。如果有多个线程同时调用setter的话,不会出现某一个线程执行setter全部语句之前,另一个线程开始执行setter的情况,相关于方法头尾加了锁一样。
nonatomic:不保证setter/getter的原子性,多线程情况下数据可能会有问题。nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。先释放原先变量,再将新变量 retain然后赋值;
注意,如果不加此属性,则默认是两个访问方法都为原子型事务访问。
- @property和@synthesize可以自动生成某个类成员变量的存取方法
- 【OC学习-9】利用@property属性和@synthesize简化实例变量的存取器方法
- 合成存取方法 @property @synthesize
- OC基础---NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- Objective-C—self 、super、点语法、成员变量的作用域、@property和@synthesize、id
- OutMan——Objective-C中成员变量的作用域、@property和@synthesize介绍和使用、构造方法和自定义构造方法
- OC语言——点语法和成员变量的4种作用域及property和synthesize的使用
- 黑马程序员——OC语言------NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- 黑马程序员——OC基础---核心语法(点语法,成员变量的作用域,@property和@synthesize)
- 黑马程序员一成员变量,@property 与 @synthesize,id,构造方法
- objective-c--- 成员变量作用域、@property、@Synthesize、id、重写,自定义构造方法
- OC_NSString,点语法,成员变量作用域,@property和@synthesize,id笔记
- OC之点语法、成员变量作用域、@property和@synthesize
- OC中的点语法,成员变量,@property和@synthesize:id类型,构造函数
- OC--语法变量声明synthesize和property
- 黑马程序员-- 核心语法 Property synthesize 成员变量的作用域
- 黑马程序员_iOS开发之OC之面向对象之多文件操作、点语法、成员变量的作用域和关键字@property与@synthesize
- XCode自动synthesize property
- 记一次dell R720服务器ESXI5.5系统宕机的奇葩经历
- 循环-02. 计算圆周率(15)
- 程序员保持快乐活跃的6个好习惯
- Android Scroller的滚动实现原理
- 02storm聚类尝试kmeans
- @property和@synthesize可以自动生成某个类成员变量的存取方法
- Java基础之集合类
- 等待已久,她终于来了!
- 华为面试题:一元多项式的化简 C语言实现源码
- eatcms网站订餐手机微信等功能亮相
- 如何提高网站在百度搜索的排名
- opencv基本数据结构
- 挑战GCJ的题目: crazy row
- 程序员解决问题的60个策略