weak和assign的区别,以及使用场景
来源:互联网 发布:完美刀塔助手没有网络 编辑:程序博客网 时间:2024/05/23 20:41
相同点:
assgin和weak均表明该属性定义了一种“非拥有关系”,即在为此种属性设置新值时,既不保留新值,也不释放旧值。
区别:
(1)weak在对象销毁时,属性值会置为nil,而assign只会执行对“纯量类型”做简单的赋值操作。
(2)assgin可以用于非OC对象,例如float、bool、int等类型,而weak只可用于OC对象
使用场景:
weak:(1)在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,例如:delegate代理属性
(2)自身已经对它进行一次强引用,没有在强调引用一次,此时也会使用weak
(3)在对象销毁时,需要对对象置为nil时,用weak
assgin:用来修饰基本类型是用assgin
0 0
- weak和assign的区别,以及使用场景
- weak和assign的区别-正确使用weak、assign
- weak和assign的区别
- assign和weak的区别
- weak和assign的区别
- weak和assign的区别
- weak和assign的区别
- assign 和 weak的区别
- 在ARC下 选择使用weak和assign的区别
- iOS中assign和weak的区别
- ARC下的assign和weak区别
- 关于 assign与weak的区别?什么时候使用weak.
- iOS中assign,copy,retain之间的区别以及weak和strong的区别 代理为啥要用weak修饰
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- 我的MYSQL学习心得(十四) 备份和恢复
- android下raw与assets文件夹区别
- JAVA学习【3】对JAVA值传递的理解
- java集合-Map
- 一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 http://www.devtf.cn
- weak和assign的区别,以及使用场景
- maven项目配置自动生成数据库表对应 mapper 文件
- Android-Mac电脑如何进行APK反编译-第二季
- Ultraedit使用小技巧
- Filter拦截器解决中文乱码问题
- 权限系统管理架构
- 数据库中查询语句怎么设置别名
- adapter 解释
- 操作系统:基于页面置换算法的缓存原理详解(下)