assign和weak之间的区别
在MRC中是没有weak的概念直到ARC中才有weak的出现,而assign是一直存在,两朝元老:
共同点:
- 不是强引用, 不能保住OC对象的生命
- 都可以作用于对象
不同点
- weak只能作用于对象,不能作用于基本数据类型
- assign不但能作用于对象还能作用于基本数据类型
- weak所指向的对象销毁时会将当前指向对象的指针指向nil,防止野指针的生成
assign所指向的对象销毁时不会将当前指向对象的指针指向nil,有野指针的生成
所以在ARC中一般数据类型指定为assign而对象则会指定为weak、strong、copy。
assign和weak之间的区别相关推荐
- iOS中copy,retain,strong,assign,weak的区别以及使用
使用assign: 对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,等) 使用copy: 对NSString 使用retain: 对其他NSObj ...
- Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...
平时用strong.retain.assign.weak这几个关键字的时候,也没有过多的在意,下边就MRC.ARC模式下,每个关键字做一下总结.为了简明期间,采用表格的形式进行展示. MRC ARC ...
- iOS中assign和weak的区别
一.区别 assign与weak,它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空,赋值为nil. 如果用assign声明的变量在栈中可能不会自动赋值为nil,就 ...
- iOS weak和assign修饰OC对象的区别
/*1.weak1> OC对象2.assign1> 基本数据类型2> OC对象3.strong1> OC对象4.copy1> NSString2> block5.使 ...
- iOS中assign和weak修饰符的区别
一.区别 assign与weak,它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空,赋值为nil. 如果用assign声明的变量在栈中可能不会自动赋值为nil,就 ...
- Pandas中map,applymap和apply方法之间的区别
本文翻译自:Difference between map, applymap and apply methods in Pandas Can you tell me when to use these ...
- location.href、location.assign和location.replace的区别
在写跳转页面的时候遇到个有意思的问题,RT的三个均能用来写跳转,总结了下它们之间的区别. 1.window.location.href="url"; 改变url地址. l ...
- weakreference_Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别...
weakreference 很长一段时间以来,WeakReference和SoftReference都已添加到Java API中,但是并不是每个Java程序员都熟悉它. 这意味着在Java中使用Wea ...
- Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别
很长一段时间以来,WeakReference和SoftReference都已添加到Java API中,但是并不是每个Java程序员都熟悉它. 这意味着在Java中使用WeakReference和Sof ...
最新文章
- 开玩笑,我的代码会有问题 ?!
- centos 安装 svn
- Java建造圆判断是否在园内_java – 查找一个圆圈是否在另一个圆圈内
- volatile理解了吗?
- 2、Android构建本地单元测试
- struts2 国际化资源文件自定义的路径解决方法
- jinja filter
- JavaIO基础学习笔记
- ES(elasticsearch)备份还原脚本
- 动力学是如何做预测的
- 为什么计算机上面没有桌面,请问为什么右击电脑桌面上的图标没有打开的选项,只有添加到压缩文件,双击才能进去?...
- win10运行Flink
- ESP32 深度睡眠模式功耗测试
- 2010上半年网络规划设计师上午试卷、标准答案及分析Ⅱ
- TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究
- Linux:syscall: entry_SYSCALL_64_after_hwframe
- 成本优化之使用P2P的方案的需要了解的本地SDK的背后的原理
- 手把手实现MATLAB的CNN回归
- Whistle安装及使用指南
- 如何优雅地拿下公众号历史文章、点赞数、阅读数,甚至是评论?
热门文章
- 数据归一化处理transforms.Normalize()
- sfu计算机科学排名世界,QS世界高校排行榜出炉,UBC/SFU的世界排名+排名前五专业一览...
- 《局外人》活着活着就把自己活成了冷漠无情的局外人
- 作为一个精神病人是一种怎样的体验?
- 信息化与数字化的区别
- mysql数据库 头像字段_模仿陌陌八张头像的数据库,应该如何建表才合适?
- Unity开发笔记(五)—— 制作第四个小游戏《坦克大战》
- 实战ssl-bump,实现squid的url过滤功能
- 前端小白-HTML简介
- linux上ftp登录失败解决办法