iOS 之 Strong与Weak,_unsafe _unretained与weak区别

时间:2023-03-09 08:50:28
iOS 之 Strong与Weak,_unsafe _unretained与weak区别

1. 在ARC中 strong(强引用) 相当于retain, weak(弱引用) 相当于assign。ARC下,strong告诉编译器自动插入retain。但是在ARC下,代理协议的属性依然用assign,防止循环引用。

2. _unsafe_unretained与weak功能一致,区别在于当指向的对象销毁后,weak会将变量置为nil,防止野指针的出现。