快速記:
1、通常來(lái)說(shuō):copy :NSString浆竭、NSMutableString浸须、block
2、strong : 一般對(duì)象如:NSNumber(除了NSTring 對(duì)象外)(retain 是iOS5之前的邦泄,相當(dāng)與5之后的strong)删窒,weak弱引用。ARC機(jī)制下的assign顺囊。 strong強(qiáng)引用肌索。ARC機(jī)制下的retain。
3特碳、weak(assign 是iOS5之前的,相當(dāng)與5之后的weak
) : UI控鍵诚亚、、代理4午乓、assign : 基本數(shù)據(jù)類型\int \float \double\CGRect \真假(BOOL)\結(jié)構(gòu)體
1> readwrite:同時(shí)生成get方法和set方法的聲明和實(shí)現(xiàn)
2> readonly:只生成get方法的聲明和實(shí)現(xiàn)
3> assign:set方法的實(shí)現(xiàn)是直接賦值站宗,用于基本數(shù)據(jù)類型
4> retain:set方法的實(shí)現(xiàn)是release舊值,retain新值益愈,用于OC對(duì)象類型
5> copy:set方法的實(shí)現(xiàn)是release舊值梢灭,copy新值,用于NSString蒸其、block等類型
6> nonatomic:非原子性敏释,set方法的實(shí)現(xiàn)不加鎖(比atomic性能高)
簡(jiǎn)單介紹:
- 1、assign
簡(jiǎn)單賦值摸袁,不更改索引計(jì)數(shù)钥顽。 對(duì)基礎(chǔ)數(shù)據(jù)類型 (例如NSInteger,CGFloat)和C數(shù)據(jù)類型(int, float, double, char, 等)靠汁,適用簡(jiǎn)單數(shù)據(jù)類型蜂大。此標(biāo)記說(shuō)明設(shè)置器直接進(jìn)行賦值,這也是默認(rèn)值蝶怔。
- 2县爬、retain
對(duì)其他NSObject和其子類對(duì)參數(shù)進(jìn)行release舊值,再retain新值添谊。釋放舊的對(duì)象财喳,將舊對(duì)象的值賦予輸入對(duì)象,再提高輸入對(duì)象的索引計(jì)數(shù)為1
[注釋:指定retain會(huì)在賦值時(shí)喚醒傳入值的retain消息斩狱。此屬性只能用于Objective-C對(duì)象類型耳高,而不能用于Core Foundation對(duì)象。(原因很明顯所踊,retain會(huì)增加對(duì)象的引用計(jì)數(shù)泌枪,而基本數(shù)據(jù)類型或者Core Foundation對(duì)象都沒(méi)有引用計(jì)數(shù)——譯者注)。 注意: 把對(duì)象添加到數(shù)組中時(shí)秕岛,引用計(jì)數(shù)將增加對(duì)象的引用次數(shù)+1碌燕。]
- 3 copy
建立一個(gè)索引計(jì)數(shù)為1的對(duì)象误证,然后釋放舊對(duì)象。
[注釋:對(duì)NSString 它指出修壕,在賦值時(shí)使用傳入值的一份拷貝愈捅。拷貝工作由copy方法執(zhí)行慈鸠,此屬性只對(duì)那些實(shí)行了NSCopying協(xié)議的對(duì)象類型有效蓝谨。更深入的討論,請(qǐng)參考“復(fù)制”部分青团。]
- 4 nonatomic
禁止多線程譬巫,變量保護(hù),提高性能督笆。指出訪問(wèn)器不是原子操作芦昔,而默認(rèn)地,訪問(wèn)器是原子操作娃肿。
-
5
屏幕快照 2015-12-25 下午3.25.41.png