在MRC中是没有weak的概念直到ARC中才有weak的出现,而assign是一直存在,两朝元老:

共同点:

  • 不是强引用, 不能保住OC对象的生命
  • 都可以作用于对象

不同点

  • weak只能作用于对象,不能作用于基本数据类型
  • assign不但能作用于对象还能作用于基本数据类型
  • weak所指向的对象销毁时会将当前指向对象的指针指向nil,防止野指针的生成
  • assign所指向的对象销毁时不会将当前指向对象的指针指向nil,有野指针的生成

    所以在ARC中一般数据类型指定为assign而对象则会指定为weak、strong、copy。

assign和weak之间的区别相关推荐

  1. iOS中copy,retain,strong,assign,weak的区别以及使用

    使用assign: 对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,等) 使用copy: 对NSString 使用retain: 对其他NSObj ...

  2. Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...

    平时用strong.retain.assign.weak这几个关键字的时候,也没有过多的在意,下边就MRC.ARC模式下,每个关键字做一下总结.为了简明期间,采用表格的形式进行展示. MRC ARC ...

  3. iOS中assign和weak的区别

    一.区别 assign与weak,它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空,赋值为nil. 如果用assign声明的变量在栈中可能不会自动赋值为nil,就 ...

  4. iOS weak和assign修饰OC对象的区别

    /*1.weak1> OC对象2.assign1> 基本数据类型2> OC对象3.strong1> OC对象4.copy1> NSString2> block5.使 ...

  5. iOS中assign和weak修饰符的区别

    一.区别 assign与weak,它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空,赋值为nil. 如果用assign声明的变量在栈中可能不会自动赋值为nil,就 ...

  6. Pandas中map,applymap和apply方法之间的区别

    本文翻译自:Difference between map, applymap and apply methods in Pandas Can you tell me when to use these ...

  7. location.href、location.assign和location.replace的区别

    在写跳转页面的时候遇到个有意思的问题,RT的三个均能用来写跳转,总结了下它们之间的区别. 1.window.location.href="url";      改变url地址. l ...

  8. weakreference_Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别...

    weakreference 很长一段时间以来,WeakReference和SoftReference都已添加到Java API中,但是并不是每个Java程序员都熟悉它. 这意味着在Java中使用Wea ...

  9. Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别

    很长一段时间以来,WeakReference和SoftReference都已添加到Java API中,但是并不是每个Java程序员都熟悉它. 这意味着在Java中使用WeakReference和Sof ...

最新文章

  1. 开玩笑,我的代码会有问题 ?!
  2. centos 安装 svn
  3. Java建造圆判断是否在园内_java – 查找一个圆圈是否在另一个圆圈内
  4. volatile理解了吗?
  5. 2、Android构建本地单元测试
  6. struts2 国际化资源文件自定义的路径解决方法
  7. jinja filter
  8. JavaIO基础学习笔记
  9. ES(elasticsearch)备份还原脚本
  10. 动力学是如何做预测的
  11. 为什么计算机上面没有桌面,请问为什么右击电脑桌面上的图标没有打开的选项,只有添加到压缩文件,双击才能进去?...
  12. win10运行Flink
  13. ESP32 深度睡眠模式功耗测试
  14. 2010上半年网络规划设计师上午试卷、标准答案及分析Ⅱ
  15. TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究
  16. Linux:syscall: entry_SYSCALL_64_after_hwframe
  17. 成本优化之使用P2P的方案的需要了解的本地SDK的背后的原理
  18. 手把手实现MATLAB的CNN回归
  19. Whistle安装及使用指南
  20. 如何优雅地拿下公众号历史文章、点赞数、阅读数,甚至是评论?

热门文章

  1. 数据归一化处理transforms.Normalize()
  2. sfu计算机科学排名世界,QS世界高校排行榜出炉,UBC/SFU的世界排名+排名前五专业一览...
  3. 《局外人》活着活着就把自己活成了冷漠无情的局外人
  4. 作为一个精神病人是一种怎样的体验?
  5. 信息化与数字化的区别
  6. mysql数据库 头像字段_模仿陌陌八张头像的数据库,应该如何建表才合适?
  7. Unity开发笔记(五)—— 制作第四个小游戏《坦克大战》
  8. 实战ssl-bump,实现squid的url过滤功能
  9. 前端小白-HTML简介
  10. linux上ftp登录失败解决办法