nonatomic匀归,assign坑资,copy,retain的區(qū)別

nonatomic:非原子性訪問穆端,不加同步袱贮,多線程并發(fā)訪問會提高性能。如果不加此屬性徙赢,則默認(rèn)是兩個訪問方法都為原子型事務(wù)訪問字柠。

(atomic是Objc使用的一種線程保護技術(shù),基本上來講狡赐,是防止在寫未完成的時候被另外一個線程讀取窑业,造成數(shù)據(jù)錯誤。而這種機制是耗費系統(tǒng)資源的枕屉,所 以在iPhone這種小型設(shè)備上常柄,如果沒有使用多線程間的通訊編程,那么nonatomic是一個非常好的選擇搀擂。)

assign: 簡單賦值西潘,不更改索引計數(shù)

對基礎(chǔ)數(shù)據(jù)類型 (NSInteger)和C數(shù)據(jù)類型(int, float, double, char, 等)

copy:建立一個索引計數(shù)為1的對象,然后釋放舊對象

對NSString

retain:釋放舊的對象哨颂,將舊對象的值賦予輸入對象喷市,再提高輸入對象的索引計數(shù)為1

對其他NSObject和其子類

copy與retain的區(qū)別

copy是創(chuàng)建一個新對象,retain是創(chuàng)建一個指針威恼,引用對象計數(shù)加1品姓。

eg:? 一個NSString 對象,地址為0×1111 箫措,內(nèi)容為@”STR”

Copy 到另外一個NSString 之后腹备,地址為0×2222 ,內(nèi)容相同斤蔓,新的對象retain為1 植酥,舊有對象沒有變化

retain 到另外一個NSString 之后,地址相同(建立一個指針,指針拷貝)友驮,內(nèi)容當(dāng)然相同漂羊,這個對象的retain值+1

也就是說,retain 是指針拷貝喊儡,copy 是內(nèi)容拷貝


為什么不能直接調(diào)用dealloc而是release

dealloc不等于C中的free拨与,dealloc并不將內(nèi)存釋放,也不會將索引計數(shù)(Reference counting)降低艾猜。于是直接調(diào)用dealloc反而無法釋放內(nèi)存。

在Objective-C中捻悯,索引計數(shù)是起決定性作用的匆赃。

strong 和weak

iOS 5 中對屬性的設(shè)置新增了strong 和weak關(guān)鍵字來修飾屬性(iOS 5 之前不支持ARC)

strong 用來修飾強引用的屬性;

@property (strong) SomeClass * aObject;

對應(yīng)原來的

@property (retain) SomeClass * aObject; 和 @property (copy) SomeClass * aObject;

weak 用來修飾弱引用的屬性今缚;

@property (weak) SomeClass * aObject;

對應(yīng)原來的

@property (assign) SomeClass * aObject;


@property內(nèi)存管理策略的選擇

1.非ARC

1> copy :只用于NSString\block算柳;

2> retain :除NSString\block以外的OC對象;

3> assign :基本數(shù)據(jù)類型姓言、枚舉瞬项、結(jié)構(gòu)體(非OC對象),當(dāng)2個對象相互引用何荚,一端用retain囱淋,一端???????? ????????? ? 用assign。

2.ARC

1> copy :只用于NSString\block餐塘;

2> strong :除NSString\block以外的OC對象妥衣;

3> weak :當(dāng)2個對象相互引用,一端用strong戒傻,一端用weak税手;代理

4> assgin :基本數(shù)據(jù)類型、枚舉需纳、結(jié)構(gòu)體(非OC對象)芦倒、布爾值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末不翩,一起剝皮案震驚了整個濱河市兵扬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慌盯,老刑警劉巖周霉,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亚皂,居然都是意外死亡俱箱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門灭必,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狞谱,“玉大人乃摹,你說我怎么就攤上這事「疲” “怎么了孵睬?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伶跷。 經(jīng)常有香客問我掰读,道長,這世上最難降的妖魔是什么叭莫? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任蹈集,我火速辦了婚禮,結(jié)果婚禮上雇初,老公的妹妹穿的比我還像新娘拢肆。我一直安慰自己,他們只是感情好靖诗,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布郭怪。 她就那樣靜靜地躺著,像睡著了一般刊橘。 火紅的嫁衣襯著肌膚如雪鄙才。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天伤为,我揣著相機與錄音咒循,去河邊找鬼。 笑死绞愚,一個胖子當(dāng)著我的面吹牛叙甸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播位衩,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼裆蒸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了糖驴?” 一聲冷哼從身側(cè)響起僚祷,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贮缕,沒想到半個月后辙谜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡感昼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年装哆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜕琴,死狀恐怖萍桌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凌简,我是刑警寧澤上炎,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站雏搂,受9級特大地震影響藕施,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畔派,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一铅碍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧线椰,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筐骇。三九已至,卻和暖如春费什,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工躺孝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人底桂。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓植袍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親籽懦。 傳聞我的和親對象是個殘疾皇子于个,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容