認(rèn)真探討strong跟copy修飾的區(qū)別

曾同學(xué)寫在前頭 --> 碼字不易,覺得有用寫得不錯的請點贊.覺得哪里有疑惑,請留下你的評論,咱們好好聊聊,多交流,技術(shù)更進(jìn)一步喲~~~

關(guān)于strong & copy的區(qū)別:
通常問到該問題的,基本都是面試的時候遇到,自己本身開發(fā)或許不會考慮太多,但是對于一個有追求有理想的工程師,我們要好好理解它兩的不同.

究兩者之本質(zhì):不同的修飾符就是調(diào)用了不同的方法砌溺,其實就是set方法的不同
strong:指向_property地址.
setter方法-->[_property release]-->[_property retain]--> _property = property
copy:新建一個內(nèi)存空間伙判,用于存儲_property的值.
setter方法-->[_property release]-->[property copy]-new一個內(nèi)存地址->_property = property

翠花~ 上Code~~:
@property(strong, nonatomic) NSArray *strongArray;
@property(copy, nonatomic) NSArray *acopyArray;
NSMutableArray *array = [@[@"array_1"] mutableCopy];
self.strongArray = array;
self.acopyArray = array;
[array addObject: @"array_2"];
NSLog(@"second: strong: %@, copy: %@", self.strongArray, self.acopyArray);
NSLog(@"print-->p: strong: %p, copy: %p, array: %p", self.strongArray, self.acopyArray, array);
以上便是結(jié)合代碼,通過結(jié)論去理解兩者的不同(本人在早期學(xué)習(xí)時, 在網(wǎng)絡(luò)上的引用)
把它們抽象成一張圖,大家看了大概就明白了(臨時作圖, 下次搞個好點的工具)

97DF3490-DC36-4B7B-8B76-FBB5EC28ECBE.png

圖片說明: 使用 strong 時(左),新建一個對象并賦值時, obj_跟 obj_cp 指針地址不同,但他們都指向同一塊堆空間存放的 Obj,當(dāng)其中一個對象修改Obj 的值時,另外一個對象再調(diào)用時,值就已經(jīng)改變了. 使用 copy 時(右),同樣新建對象該屬性賦值時,兩個屬性的堆椂胀洌空間都已經(jīng)獨立了,相互間不影響,也就能保證數(shù)據(jù)安全咯.
小結(jié):
strong在棧中的指針指向的是同一塊內(nèi)存地址顶霞,當(dāng)對應(yīng)的堆中的對象發(fā)生變化時匆笤,意味著該屬性的值也隨之變化扭吁;
copy在賦值之前让腹,會創(chuàng)建一塊新的椛娜簦空間存儲內(nèi)存地址盒音,指向新的堆空間地址表鳍,并把值存儲到該地址指向的控件中。

以上, 為二者區(qū)別. 了解區(qū)別有啥用?肯定得跟實踐應(yīng)用結(jié)合起來嘛, 所以以下為開發(fā)提供的一些建議.
當(dāng)修飾 NSString/NSArray 等對象時祥诽,最好使用copy修飾譬圣。當(dāng)然,具體還需要視項目需求來決定,建議使用 copy, 因為現(xiàn)在這點內(nèi)存消耗,咱們還是耗得起的.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市雄坪,隨后出現(xiàn)的幾起案子厘熟,更是在濱河造成了極大的恐慌,老刑警劉巖维哈,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绳姨,死亡現(xiàn)場離奇詭異,居然都是意外死亡阔挠,警方通過查閱死者的電腦和手機(jī)飘庄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來购撼,“玉大人跪削,你說我怎么就攤上這事∮厍螅” “怎么了切揭?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锁摔。 經(jīng)常有香客問我廓旬,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任孕豹,我火速辦了婚禮涩盾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘励背。我一直安慰自己春霍,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布叶眉。 她就那樣靜靜地躺著址儒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衅疙。 梳的紋絲不亂的頭發(fā)上莲趣,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音饱溢,去河邊找鬼喧伞。 笑死,一個胖子當(dāng)著我的面吹牛绩郎,可吹牛的內(nèi)容都是我干的潘鲫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼肋杖,長吁一口氣:“原來是場噩夢啊……” “哼溉仑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起状植,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤彼念,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后浅萧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡哲思,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年洼畅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棚赔。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡帝簇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出靠益,到底是詐尸還是另有隱情丧肴,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布胧后,位于F島的核電站芋浮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏壳快。R本人自食惡果不足惜纸巷,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一镇草、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瘤旨,春花似錦梯啤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祟偷,卻和暖如春察滑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肩袍。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工杭棵, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氛赐。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓魂爪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親艰管。 傳聞我的和親對象是個殘疾皇子滓侍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

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

  • 江南自古多才子撩笆,江南的文化,是一種帶有悲劇性格的貶官文化缸浦。而江南文化的性格夕冲,成為了江南才子筆下一種典型的文化性格。...
    槐安國閱讀 929評論 2 1
  • 前言: 上次我們學(xué)習(xí)了多維尺度分析裂逐,這次我們學(xué)習(xí)對應(yīng)分析歹鱼,兩者都是把復(fù)雜的數(shù)據(jù)關(guān)系,分解到二維或者多維空間上卜高,簡單...
    洛水青柳2017閱讀 3,859評論 2 2
  • 2016-03-31 Dagger 2 and Base Classes — Generics and Prese...
    alighters閱讀 251評論 0 1
  • 九月弥姻,已有初秋之意! 匆匆忙忙的走出門的時候掺涛,完全沒有注意到秋季已經(jīng)慢慢的走來了庭敦。有人說秋天是一個傷感的季節(jié),也是...
    ZLYJFR閱讀 218評論 0 1
  • 最近偶然讀了些關(guān)于行為設(shè)計方面的東西薪缆,深覺心理學(xué)無處不在秧廉,無處不可應(yīng)用。而行為設(shè)計作為一門不算新興的新興學(xué)科,早被...
    大青飛啊閱讀 3,270評論 0 9