Copy

copy

  • 復(fù)制

  • 淺復(fù)制:指針的復(fù)制(地址的復(fù)制)

  • 深復(fù)制:對象內(nèi)容的復(fù)制

  • Foundion的基本對象復(fù)制

  • 基本對象都實現(xiàn)的NSCoping和NSMutableCoping協(xié)議

  • 都可以實現(xiàn)淺復(fù)制和深復(fù)制

  • copy和mutableCopy

  • copy復(fù)制出來的對象都是不可變的

  • mutableCopy復(fù)制出來的對象都是可變的

  • 可變對象的copy和mutableCopy

  • 可變對象的mutableCopy復(fù)制出來一個可變的對象殴瘦,復(fù)制的含義是兩份對象更改內(nèi)容是互不影響的戏售,就是改變一個不影響另一個,兩個對象都是可變的挤忙,又互不影響,所以是深復(fù)制的不同對象

  • 可變對象的copy出來的對象是不可變的孙咪,復(fù)制出來的對象的性質(zhì)已經(jīng)發(fā)生了變化饥臂,原對象的改變不會影響復(fù)制出來的對象(復(fù)制出來的是不可變的對象,不會改變)谢翎,所以是深復(fù)制

  • 不可變對象的copy和mutableCopy

  • 不可變對象copy出來的對象是不可變的,既然兩個對象都是不可變的沐旨,都不會發(fā)生改變森逮,所以兩者引用同一塊地址,所以是淺復(fù)制

  • 不可變對象的utableCopy出來的對象是可變的磁携,復(fù)制出來的對象的性質(zhì)已經(jīng)發(fā)生了變化褒侧,復(fù)制出來的對象的改變不會影響原來的對象對象(原對象不可變的對象,不會改變)谊迄,所以是深復(fù)制

  • 總結(jié):復(fù)制就是拷貝一份闷供,但是由于copy出來的是不可變的,所以如果原來的對象也是不可變的统诺,那么兩者都使用同一地址即可歪脏,不必再分配內(nèi)存創(chuàng)建一個新的對象

  • 自定義對象的copy和mutableCopy

  • copy實現(xiàn)NSCopying協(xié)議的方法即可,在方法中創(chuàng)建一個新的對象粮呢,將當前對象的屬性值賦值給創(chuàng)建出來的對象即可

  • mutableCopy實現(xiàn)NSMutableCopying中的方法即可唾糯,但是用的比較少怠硼,一般使用copy即可

- (id)copyWithZone:(NSZone *)zone{
    Person *person = [[Person allocWithZone:zone] init];
    person.age = self.age;
    return person;
}
  • 屬性中從copy策略
  • 使用strong同樣可以強引用外部傳來的對象,但是當外部對象在外部被改變時屬性的值也將會發(fā)生改變
  • 如果使用copy策略移怯,會產(chǎn)生一個不可變的對象,外部的對象改變時屬性值也不會發(fā)生改變
  • 由于copy策略產(chǎn)生的對象都是不可變的这难,即使使用可變的對象去接收本質(zhì)還是不可變的舟误,如果調(diào)用可變對象的方法會發(fā)生crash
/** name屬性值永遠是不可變,所以定義為NSMutableString是不合理的,調(diào)用NSMutableString的方法會crash*/
@property (nonatomic, copy) NSMutableString *name;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末姻乓,一起剝皮案震驚了整個濱河市嵌溢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蹋岩,老刑警劉巖赖草,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剪个,居然都是意外死亡秧骑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門扣囊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乎折,“玉大人,你說我怎么就攤上這事侵歇÷畛危” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵惕虑,是天一觀的道長坟冲。 經(jīng)常有香客問我,道長溃蔫,這世上最難降的妖魔是什么健提? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮酒唉,結(jié)果婚禮上矩桂,老公的妹妹穿的比我還像新娘。我一直安慰自己痪伦,他們只是感情好侄榴,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著网沾,像睡著了一般癞蚕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辉哥,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天桦山,我揣著相機與錄音攒射,去河邊找鬼。 笑死恒水,一個胖子當著我的面吹牛会放,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钉凌,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼咧最,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了御雕?” 一聲冷哼從身側(cè)響起矢沿,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酸纲,沒想到半個月后捣鲸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡闽坡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年栽惶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片无午。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡媒役,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宪迟,到底是詐尸還是另有隱情酣衷,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布次泽,位于F島的核電站穿仪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏意荤。R本人自食惡果不足惜啊片,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望玖像。 院中可真熱鬧紫谷,春花似錦、人聲如沸捐寥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽握恳。三九已至瞒窒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乡洼,已是汗流浹背崇裁。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工匕坯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拔稳。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓葛峻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親壳炎。 傳聞我的和親對象是個殘疾皇子泞歉,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

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