nonatomic:訪問(wèn)速度快,但是線程間屬性或者變量的調(diào)度是不安全的!比如:在一個(gè)線程里面調(diào)用了其get方法,另外一個(gè)線程同時(shí)在調(diào)用其set方法!會(huì)出現(xiàn)無(wú)法預(yù)料的結(jié)果;解決方法(添加線程鎖)!
atomic:訪問(wèn)速度慢,因?yàn)橐WC操作整體完成,會(huì)保證 別的線程來(lái)訪問(wèn)這個(gè)屬性之前,先執(zhí)行完當(dāng)前流程;
copy:字符串,或者block的聲明使用copy
strong:strong和retain相似,只要有一個(gè)strong指針指向?qū)ο?,該?duì)象就不會(huì)被銷毀;強(qiáng)引用!
assign:一般數(shù)據(jù)類型使用,比如:int Float NSInteger
weak:weak指針指向的對(duì)象一旦被釋放,weak的指針都將被賦值為nil ;一般用于xib手托的控件
__weak:對(duì)于對(duì)象的聲明,如果要使用弱引用,可以使用__weak,如:__weak typeof(self) _self=self;就可以直接使用_self了。
__strong:對(duì)于變量的聲明,如果要使用強(qiáng)引用,可以使用strong,默認(rèn)就是strong,寫不寫都是一樣的。
時(shí)間關(guān)系就寫到這吧,有要補(bǔ)充的可以留言!