ARC下OC对象使用assign和使用weak的区别
来源:互联网 发布:微信版邀请函制作软件 编辑:程序博客网 时间:2024/05/23 21:33
面试总会被问到这个问题,但是自己一直没有真正的测试过。在ARC下使用wek 对象被释放后,指向对象的指针就会变成空指针,后面在调用相关的对象方法不会出现异常
@interface ViewController () @property(weak,nonatomic)Persion *p;@property(weak,nonatomic)BOOK *b;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; _p = [[Persion alloc] init]; _b = [[BOOK alloc]init]; _p.book = _b; _b.p = _p; }
如果将weak换成assign的话 在
_p.book = _b;
这行代码有很大的几率会报野指针异常,但是也有不报异常的时候
assign是指针赋值,不对引用计数操作,使用之后如果没有置为nil,可能就会产生野指针;而weak一旦不进行使用后,永远不会使用了,就不会产生野指针
0 0
- ARC下OC对象使用assign和使用weak的区别
- 在ARC下 选择使用weak和assign的区别
- ARC下的assign和weak区别
- weak和assign的区别-正确使用weak、assign
- IOS开发中ARC下的assign和weak区别
- iOS开发中ARC下的assign和weak区别
- IOS开发中ARC下的assign和weak区别
- ARC环境下 assign 和 weak 修饰对象时候的区别
- iOS weak和assign修饰OC对象的区别
- weak和assign的区别,以及使用场景
- 关于 assign与weak的区别?什么时候使用weak.
- weak和assign的区别
- assign和weak的区别
- weak和assign的区别
- weak和assign的区别
- weak和assign的区别
- assign 和 weak的区别
- iOS中delegate代理对象使用weak和assign哪个?
- 【项目异常】nested exception is java.lang.NoClassDefFoundError: org/aspectj/util
- VC提示msedv.exe 错误
- 在 swift中处理网络请求
- xxxxxxx
- txt文件转成bin文件shell脚本
- ARC下OC对象使用assign和使用weak的区别
- 第二周项目2-就拿胖子说事
- android 用GridView加载Bitmap 内存溢出问题总结
- Java集合总结之Collection整体框架
- 为子Activity添加左向向上返回剪头按钮
- JSF框架模式
- 单例模式的设计
- Android SDK 国内镜像
- C++实验1-求两数的和及差