iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?

2026-06-09 14:114阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计448个文字,预计阅读时间需要2分钟。

iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?

简要说明一下属性关键字的概念,详细内容需要你上网查找。这里简单介绍,主要还是如何使用这些关键字,定义一些属性字段,需要使用哪些关键字。


只是大概的说明一下属性关键字的意思,详细的介绍,那需要你到网上具体查找,这里简单介绍,主要还是怎么使用这几个关键字,定义一些属性字段,需要使用哪些关键字,下面说的很明确,我们常用的几个。


nonatomic:

非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。

例如:

@property (nonatomic, assign) int number;


assign:
简单赋值,不更改索引计数,对数据类型 (如NSInteger,CGFloat, int, float, double, char, 等)。

例如:

@property (nonatomic, assign) float number;

对于简单的数据类型,我们就使用assign关键字属性。

iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?


copy:
建立一个索引计数为1的对象,然后释放旧对象,作用于:NSString。

例如:

@property (nonatomic, copy) NSString *myText;



retain
释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1。

例如:

@property (nonatomic, retain) UIButton *mybutton;

ios的控件(UIView、等),那就使用retain关键字属性。





本文共计448个文字,预计阅读时间需要2分钟。

iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?

简要说明一下属性关键字的概念,详细内容需要你上网查找。这里简单介绍,主要还是如何使用这些关键字,定义一些属性字段,需要使用哪些关键字。


只是大概的说明一下属性关键字的意思,详细的介绍,那需要你到网上具体查找,这里简单介绍,主要还是怎么使用这几个关键字,定义一些属性字段,需要使用哪些关键字,下面说的很明确,我们常用的几个。


nonatomic:

非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。

例如:

@property (nonatomic, assign) int number;


assign:
简单赋值,不更改索引计数,对数据类型 (如NSInteger,CGFloat, int, float, double, char, 等)。

例如:

@property (nonatomic, assign) float number;

对于简单的数据类型,我们就使用assign关键字属性。

iOS中属性关键字assign、copy、retain、nonatomic如何选择使用?


copy:
建立一个索引计数为1的对象,然后释放旧对象,作用于:NSString。

例如:

@property (nonatomic, copy) NSString *myText;



retain
释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1。

例如:

@property (nonatomic, retain) UIButton *mybutton;

ios的控件(UIView、等),那就使用retain关键字属性。