欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-21 22:17:28
...
/*
 1.weak
 1> OC对象

 2.assign
 1> 基本数据类型
 2> OC对象

 3.strong
 1> OC对象

 4.copy
 1> NSString
 2> block

 5.使用weak和assign修饰OC对象的区别
 1> 成员变量
 1) weak生成的成员变量是用__weak修饰的,比如Cat * __weak _cat;
 2) assign生成的成员变量是用__unsafe_unretained修饰的Cat * __unsafe_unretained _cat;

 2> __weak和__unsafe_unretained
 1) 都不是强指针(不是强引用),不能保住对象的命
 2) __weak : 所指向的对象销毁后,会自动变成nil指针(空指针),不再指向已经销毁的对象
 3) __unsafe_unretained : 所指向的对象销毁后,仍旧指向已经销毁的对象
 */
相关标签: ios weak assign