使用weak和assign修饰OC对象的区别

  • 相同点
 1.weak修饰OC对象2.assign修饰OC对象和基本数据类型
复制代码
  • 不同点 1.成员变量 1.weak生成的成员变量是用__weak修饰的,比如LCFPersion * __weak _cat 2.assign生成的成员变量是用__unsafe_unretained修饰的,LCFPerson *__unsafe_unretained 2.__weak__unsafe_unretained 1.都不是强指针(不是强引用),不能保存对象的命 2.__weak:所指向的对象销毁后,会自动变成nil指针(空指针) 3.__unsafe__unretained :所指向的对象销毁后,仍旧指向已经销毁的对象

weak和assign的区别相关推荐

  1. iOS属性之assign,copy,retain的区别以及weak和strong的区别

    为什么80%的码农都做不了架构师?>>>    @property (nonatomic, assign) NSString *title; 什么是assign,copy,retai ...

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

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

  3. retain和copy还有assign的区别

    retain和copy还有assign的区别 1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a和b ...

  4. 展开运算符和object.assign()的区别

    Object Spread 和 Object.assign 在功能上很相似.你应该使用哪一个? 事实证明,答案比你想象的要微妙许多. Object Spread 概论 object Spread 运算 ...

  5. Verilog中 reg和wire 用法 以及always和assign的区别

    1.从仿真角度来说,HDL语言面对的是编译器,相当于使用软件思路,此时: wire对应于连续赋值,如assign: reg对应于过程赋值,如always,initial: 2.从综合角度,HDL语言面 ...

  6. retain、strong、weak、assign区别

    1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b指向同一块内存,请问当a不再需要这块内存,能 ...

  7. iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别

    依旧本着尊重原创和劳动者的原则,将地址先贴在前面: http://www.cnblogs.com/nonato/archive/2013/11/28/3447162.html,作者Nonato 以下内 ...

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

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

  9. iOS学习笔记-retain/assign/strong/weak/copy/mutablecopy/autorelease区别

    readwrite:是可读可写特性,需要生成getter和setter方法: readonly是之都特性,只会生成getter方法,不会生成setter方法,不希望属性在类外改变时候使用: alloc ...

最新文章

  1. 64位Fedora运行32位C++程序中int精度溢出处理
  2. lzg_ad:使用OPENROWSET函数连接并访问远程数据库数据
  3. Linux 下各个目录的作用及内容
  4. ELK实时日志分析平台环境部署--完整记录
  5. React开发(170):ant design datapicker限制选择时间
  6. dns服务器系统架构,详解 DNS 与 CoreDNS 的实现原理
  7. javascript !-- //-- 与老的浏览器打交道
  8. python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
  9. js 操作table: insertRow(),deleteRow(),insertCell(),deleteCell()方法
  10. 学习指南_这可能是全网最详细的HTTP学习指南了
  11. PHP递归实现层级树状展现数据
  12. xshell常用指令
  13. android 之手机拨号器,以及短信发送器的简单实现
  14. JavaScript的7个位运算符
  15. hashmap扩容_聊一聊HashMap
  16. Unity 按钮脚本
  17. 数学建模:R语言的正态性检验
  18. 产品设计体会(0013)产品经理应该是管理者么
  19. c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...
  20. 09-mumu模拟器调键盘,回车键

热门文章

  1. 3. Storm编程框架
  2. 马士兵讲jsp项目--BBS项目分析笔记
  3. 超准!生活中48条让人匪夷所思的诡秘心理...
  4. Objective-C 常用代码
  5. HoloLens还太远 必应才是微软目前的重头戏
  6. jquery利用appendTo动态创建元素
  7. java 实现Active Object思想
  8. 用unity3d切割图片
  9. hue 安装 + authrization manager安装
  10. Q146:PBRT-V3,对系统进行拓展(以添加一个新的Integrator为例)