delegate属性为什么用weak修饰
2017-08-02 本文已影响0人
ios_stand
这是为了避免对象及其委托之间产生强引用循环,例如,BNRHypnosisViewController 是 UITextField 对象的委托,而且UITextField对象是BNRHypnosisViewController的强引用属性,如果UITextField对象再对其委托保持强引用,就会在两者之间产生强引用循环,很可能造成内存泄漏。
tmp5a8dcbbc.png
这是为了避免对象及其委托之间产生强引用循环,例如,BNRHypnosisViewController 是 UITextField 对象的委托,而且UITextField对象是BNRHypnosisViewController的强引用属性,如果UITextField对象再对其委托保持强引用,就会在两者之间产生强引用循环,很可能造成内存泄漏。