iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计448个文字,预计阅读时间需要2分钟。
简要说明一下属性关键字的概念,详细内容需要你上网查找。这里简单介绍,主要还是如何使用这些关键字,定义一些属性字段,需要使用哪些关键字。
只是大概的说明一下属性关键字的意思,详细的介绍,那需要你到网上具体查找,这里简单介绍,主要还是怎么使用这几个关键字,定义一些属性字段,需要使用哪些关键字,下面说的很明确,我们常用的几个。
nonatomic:
非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。
例如:
@property (nonatomic, assign) int number;
assign:
简单赋值,不更改索引计数,对数据类型 (如NSInteger,CGFloat, int, float, double, char, 等)。
例如:
@property (nonatomic, assign) float number;
对于简单的数据类型,我们就使用assign关键字属性。
copy:
建立一个索引计数为1的对象,然后释放旧对象,作用于:NSString。
本文共计448个文字,预计阅读时间需要2分钟。
简要说明一下属性关键字的概念,详细内容需要你上网查找。这里简单介绍,主要还是如何使用这些关键字,定义一些属性字段,需要使用哪些关键字。
只是大概的说明一下属性关键字的意思,详细的介绍,那需要你到网上具体查找,这里简单介绍,主要还是怎么使用这几个关键字,定义一些属性字段,需要使用哪些关键字,下面说的很明确,我们常用的几个。
nonatomic:
非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。
例如:
@property (nonatomic, assign) int number;
assign:
简单赋值,不更改索引计数,对数据类型 (如NSInteger,CGFloat, int, float, double, char, 等)。
例如:
@property (nonatomic, assign) float number;
对于简单的数据类型,我们就使用assign关键字属性。
copy:
建立一个索引计数为1的对象,然后释放旧对象,作用于:NSString。

