iOS 关于修饰代理用weak还是assign

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 关于修饰代理用weak还是assign相关的知识,希望对你有一定的参考价值。

对于这个问题,昨天看朋友写的代码偶尔注意到的。自己平常都是用weak进行修饰,他却用到了assign一时不知对错。然后搜索了一下。下面罗列一下结果。

对于weak:指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制。

对于strong:该对象强引用delegate,外界不能销毁delegate对象,会导致循环引用(Retain Cycles)

对于assing:也有weak的功效。但是网上有assign是指针赋值,不对引用计数操作,使用之后如果没有置为nil,可能就会产生野指针;而weak一旦不进行使用后,永远不会使用了,就不会产生野指针。以上是自己搜索看到的解答,谁有更好的说法,可以评价回复。采纳优质意见。

以上是关于iOS 关于修饰代理用weak还是assign的主要内容,如果未能解决你的问题,请参考以下文章

iOS内存管理-- iOS 代理要用weak修饰

ios中关键词weak,assign,copy.strong等的区别

iOS-strong,copy,weak,assign等修饰符作用

iSO weak和assign的区别

assign和weak的区别

iOS OC中strong,weak,assign,copy等的区别