strong,weak,retain,assign,copy nomatic 等的区别

转载 2016年05月30日 16:48:24

assign: 简单赋值,不更改索引计数(Reference Counting)对基础数据类

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

retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 ,对其他NSObject和其子类

weak和strong的区别:

weak和strong不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它。一旦最后一个strong型指针离去 ,这个对象将被释放,所有剩余的weak型指针都将被清除。

copy与retain的区别:

copy其实是建立了一个相同的对象,而retain不是;

copy是内容拷贝,retain是指针拷贝;

copy是内容的拷贝 ,对于像NSString,的确是这样,如果拷贝的是NSArray这时只是copy了指向array中相对应元素的指针.这便是所谓的"浅复制"。

__block和__weak修饰符的区别

__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。

__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。

__block对象可以在block中被重新赋值,__weak不可以。



文/cjlcooper(简书作者)
原文链接:http://www.jianshu.com/p/c1d609d1569b
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iOS中assign,copy,retain之间的区别以及weak和strong的区别,NSString什么时候用copy,什么时候用strong

@property (nonatomic, assign) NSString *title;  什么是assign,copy,retain之间的区别?  assign: 简单赋值,不更改索...
  • yq7788998
  • yq7788998
  • 2016年05月25日 18:27
  • 672

strong,weak,assign,retain,copy区别与联系

1.arc环境下,strong代替retain,weak代替assign 2、weak的作用:在ARC环境下,所有指向这个对象的weak指针都将被置为nil。这个T特性很有用,相信很多开发者都被指针...
  • lcl12111211
  • lcl12111211
  • 2016年03月21日 18:31
  • 182

OC中assign、copy 、retain等关键字的含义

assign: 简单赋值,不更改索引计数 copy: 建立一个索引计数为1的对象,然后释放旧对象 retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 Copy...
  • Damon_hoo
  • Damon_hoo
  • 2014年09月04日 17:43
  • 1101

ARC 下属性 strong,weak,还有copy 等属性详解

http://www.jianshu.com/p/4a1d1921284b 虽然的确是最基本&被无数人写过的问题,但是今天还是想弄得更清楚一些,所以看了看官方文档,写了这篇博客。 assign...
  • jeffasd
  • jeffasd
  • 2016年06月18日 16:54
  • 1034

assign,copy,retain和weak,strong(借鉴别人并整理的)

assign,copy,retain(转载并整理的) 学习ios有一段时间了,今天打算总结一下assign,copy,retain,以下内容是我看别人写的文章,从中截取的,并简单进行了整理。   ...
  • xiaonadiandian
  • xiaonadiandian
  • 2015年04月23日 18:09
  • 268

内存管理(retain,assign,copy,strong,weak)

IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 ...
  • gudujianw
  • gudujianw
  • 2016年03月10日 16:01
  • 187

IOS开发 @property中assign、copy 、retain等关键字的理解

一、@property基本作用 @property(nonatomic,retain)NSString *str; @property关键字提供了外界对成员变量的访问接口,其本质是为某一个...
  • muzhenhua
  • muzhenhua
  • 2015年05月06日 13:07
  • 1164

iOS中assign,copy,retain之间的区别以及weak和strong的区别

@property (nonatomic, assign) NSString *title;  什么是assign,copy,retain之间的区别?  assign: 简单赋...
  • cos_sin_tan
  • cos_sin_tan
  • 2015年08月19日 08:54
  • 266

iOS中assign,copy,retain之间的区别以及weak和strong的区别

http://blog.csdn.net/getchance/article/details/42213219/ @property (nonatomic, assign) NSString *...
  • Rodulf
  • Rodulf
  • 2016年07月30日 23:53
  • 335

iOS中assign,copy,retain之间的区别以及weak和strong的区别

@property (nonatomic, assign) NSString *title;  什么是assign,copy,retain之间的区别?  assign: 简单赋值,不更改索...
  • cxd2011011314
  • cxd2011011314
  • 2016年04月07日 16:11
  • 153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:strong,weak,retain,assign,copy nomatic 等的区别
举报原因:
原因补充:

(最多只允许输入30个字)