iOS 基础知识 assign retain copy 和 nonatomic的用法
来源:互联网 发布:ps3 linux 编辑:程序博客网 时间:2024/05/16 09:30
1.在属性定义时,什么时候用assign、retain、copy、nonatomic
(1)assign:普通赋值,一般用于基本数据类型,常见委托设计模式,以此来防止循环引用。
(2)retain:保留引用计数,获取对象的绝对使用权,引用计数在原有的基础上加1。
(3)用来复制对象,一般字符串使用copy,Foundation中的不可变对象在使用copy效果相对于retain,只是引用计数加1。
(4)nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。
2.strong与weak,_unsafe _unretained与weak的区别
(1)strong 叫强引用,weak则称为弱引用,在ARC中,使用strong告诉编译器帮助我们自动插入retain,weak是普通赋值相当于手动管理内存的assign。
(2)_unsafe _unretained 于weak功能一致,区别在于当指向的对象销毁之后,weak会将变量置为nil,防止调用野指针。
0 0
- iOS 基础知识 assign retain copy 和 nonatomic的用法
- IOS中atomic ,nonatomic, assign, copy ,retain的区别
- iOS IOS atomic与nonatomic,assign,copy与retain的定义和区别
- readwrite, readonly, assign, retain, copy, nonatomic属性的作用? 什么情况使用copy,assign和retain?
- @property (nonatomic,retain)中的nonatomic,assign,copy和retain是什么意思?
- @property (nonatomic,retain)中的nonatomic,assign,copy和retain是什么意思?
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- iOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- Linux时间子系统之二:表示时间的单位和结构
- hdu 5384 Danganronpa (字典树/AC自动机)
- HDU 2853 Assignment (KM算法)
- coj 1260: 回文串问题 研究生复试题
- Java基础——File类使用时的小细节
- iOS 基础知识 assign retain copy 和 nonatomic的用法
- Java中的Iterator
- Android基础入门教程——4.2.1 Service初涉
- JDBC 的关键点!
- HDU 4260(The End of The World-Hanoi塔从中间状态移动)
- OC便利方法
- 用户接受度问题
- R语言实战1
- BLE4.0蓝牙center与peripheral建立连接绑定过程