strong
:該對象強(qiáng)引用delegate丘喻,外界不能銷毀delegate對象寒亥,會導(dǎo)致循環(huán)引用(Retain Cycles)
weak
:指明該對象并不負(fù)責(zé)保持delegate這個對象仅颇,delegate的銷毀由外部控制受神。當(dāng)delegate指向的對象銷毀后,自動delegate = nil魏颓。
assign
:具有weak的效果缚去,但需要手動設(shè)置nil。
為什么用weak不用assign琼开?
assign是指針賦值,不操作引用計數(shù)枕荞,delegate用完后如果沒有設(shè)置為nil柜候,有可能產(chǎn)生野指針;
而weak指向的delegate一旦用完躏精,自動就nil了渣刷,不會產(chǎn)生野指針。