Weak&Strong
很多人不理解oc对象用strong,为啥oc控件一般用weak, 这里说一下, 原因就是 controller强引用view, view强引用这subViews 所以对于添加的控件没有必要再对其强引用.强调一下这里的weak并不是解决循环引用的问题
那么weak 和assign 有什么区别呢, weak所修饰的对象, 当销毁时起指针会指向nill, 而assign的指针还指向原来的地址, 这样如果oc对象用assign的话当再次向这个对象发送消息是会引起程序崩溃, 原因是野指针, 而如果用weak修饰的OC对象当销毁时, 指针指向nill , oc中想nil发送消息,没有任何回应. 所以也不会造成程序崩溃
本文详细解析了Objective-C中的强引用(strong)与弱引用(weak)的区别,以及它们在不同场景下的应用。重点强调了在创建控件时使用弱引用的原因,避免循环引用导致的内存泄漏问题。
5万+

被折叠的 条评论
为什么被折叠?



