assign vs weak
assign:簡(jiǎn)單賦值,用于基本數(shù)據(jù)類型,不會(huì)改變引用基數(shù).
weak: arc后引入的關(guān)鍵字,用于對(duì)象類型,不會(huì)改變引用計(jì)數(shù).
__block vs __weak
__block不管是ARC還是MRC模式都可以使用,可修飾對(duì)象和基本數(shù)據(jù)類型。
__weak 只能在ARC模式下使用,只能修飾對(duì)象,不能修飾基本數(shù)據(jù)類型。
__block 修飾的對(duì)象在block中可以被修改,且不會(huì)被block強(qiáng)引用。
__weak 修飾符的對(duì)象,作用等同于定義為weak的property,當(dāng)對(duì)象沒(méi)有任何強(qiáng)引用的時(shí)候,會(huì)被設(shè)置為nil;在block中不可以被修改。