weak :指明該對象并不負責保持delegate這個對象,delegate這個對象的銷毀由外部控制器
strong 該對象強引用delegate 外界不能銷毀delegate對象 會導致循環引用 retain cycles
A 引用 B B 引用 C C 有引用 A 如果用strong修飾 這個代理就會永遠無法釋放
如果用 assign 修飾 assign是指針賦值,不對引用計數進行操作,如果使用完畢以后,不把其置為nil,就有可能產生野指針,這時候如果操作 不當 會crash。
而weak使用完就沒有了,所以weak更安全,其他也沒啥區別