weak和assign的区别
使用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的区别相关推荐
- iOS属性之assign,copy,retain的区别以及weak和strong的区别
为什么80%的码农都做不了架构师?>>> @property (nonatomic, assign) NSString *title; 什么是assign,copy,retai ...
- iOS weak和assign修饰OC对象的区别
/*1.weak1> OC对象2.assign1> 基本数据类型2> OC对象3.strong1> OC对象4.copy1> NSString2> block5.使 ...
- retain和copy还有assign的区别
retain和copy还有assign的区别 1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a和b ...
- 展开运算符和object.assign()的区别
Object Spread 和 Object.assign 在功能上很相似.你应该使用哪一个? 事实证明,答案比你想象的要微妙许多. Object Spread 概论 object Spread 运算 ...
- Verilog中 reg和wire 用法 以及always和assign的区别
1.从仿真角度来说,HDL语言面对的是编译器,相当于使用软件思路,此时: wire对应于连续赋值,如assign: reg对应于过程赋值,如always,initial: 2.从综合角度,HDL语言面 ...
- retain、strong、weak、assign区别
1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b指向同一块内存,请问当a不再需要这块内存,能 ...
- iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
依旧本着尊重原创和劳动者的原则,将地址先贴在前面: http://www.cnblogs.com/nonato/archive/2013/11/28/3447162.html,作者Nonato 以下内 ...
- iOS中assign和weak修饰符的区别
一.区别 assign与weak,它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空,赋值为nil. 如果用assign声明的变量在栈中可能不会自动赋值为nil,就 ...
- iOS学习笔记-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
readwrite:是可读可写特性,需要生成getter和setter方法: readonly是之都特性,只会生成getter方法,不会生成setter方法,不希望属性在类外改变时候使用: alloc ...
最新文章
- 64位Fedora运行32位C++程序中int精度溢出处理
- lzg_ad:使用OPENROWSET函数连接并访问远程数据库数据
- Linux 下各个目录的作用及内容
- ELK实时日志分析平台环境部署--完整记录
- React开发(170):ant design datapicker限制选择时间
- dns服务器系统架构,详解 DNS 与 CoreDNS 的实现原理
- javascript !-- //-- 与老的浏览器打交道
- python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
- js 操作table: insertRow(),deleteRow(),insertCell(),deleteCell()方法
- 学习指南_这可能是全网最详细的HTTP学习指南了
- PHP递归实现层级树状展现数据
- xshell常用指令
- android 之手机拨号器,以及短信发送器的简单实现
- JavaScript的7个位运算符
- hashmap扩容_聊一聊HashMap
- Unity 按钮脚本
- 数学建模:R语言的正态性检验
- 产品设计体会(0013)产品经理应该是管理者么
- c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...
- 09-mumu模拟器调键盘,回车键