@property中strong與copy的區(qū)別

一 共識(shí)

1 一般情況下漓糙,NSStringcopy修飾绿聘,其他對(duì)象strong修飾
@property(nonatomic, copy) NSString *name;
@property(nonatomic, strong) NSMutableArray *titles;
2 strongcopy修飾NSString的影響
  • 正常使用copy修飾NSString
@property(nonatomic, copy) NSString *name;
- (void)method
{
    NSMutableString *str = [NSMutableString stringWithString:@"1"];
    self.name = str;
    [str appendString:@"2"];
    NSLog(@"self.name = %@", self.name);
}

self.name = 1

  • 使用strong修飾NSString的影響
@property(nonatomic, strong) NSString *name;
- (void)method
{
    NSMutableString *str = [NSMutableString stringWithString:@"1"];
    self.name = str;
    [str appendString:@"2"];
    NSLog(@"self.name = %@", self.name);
}

self.name = 12

二 特殊情況

使用copy修飾可變對(duì)象,程序可能意外退出
@property(nonatomic, copy) NSMutableArray *titles;
- (void)method
{
    self.titles = [NSMutableArray arrayWithObjects:@1, @2, nil];
    //下面這條語(yǔ)句報(bào)錯(cuò)暇矫,因?yàn)閟elf.titles實(shí)際指向的是一個(gè)NSArray對(duì)象(不可變)
    [self.titles removeObjectAtIndex:0];
}

三 原理

1 copystrong影響的是setter方法的實(shí)現(xiàn)票渠,當(dāng)使用@property聲明屬性的時(shí)候拂檩,系統(tǒng)會(huì)根據(jù)讀取權(quán)限來(lái)生成對(duì)應(yīng)的settergetter方法。
  • strong修飾符默認(rèn)的setter方法
@property(nonatomic, strong) NSString *name;
- (void)setName:(NSString *)name
{
    _name = name;
}
  • copy修飾符默認(rèn)的setter方法
@property(nonatomic, copy) NSString *name;
- (void)setName:(NSString *)name
{
    _name = [name copy];
}
2 如果重寫(xiě)了settter方法又厉,則@property中的strong或者copy定義無(wú)效

下面這個(gè)例子中@property中聲明的是copy九府,但是setter方法中用到是strong

@property(nonatomic, copy) NSString *name;
- (void)setName:(NSString *)name
{
    _name = name;
}
- (void)method
{
    NSMutableString *str = [NSMutableString stringWithString:@"1"];
    self.name = str;
    [str appendString:@"2"];
    NSLog(@"self.name = %@", self.name);

}

self.name = 12

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市覆致,隨后出現(xiàn)的幾起案子侄旬,更是在濱河造成了極大的恐慌,老刑警劉巖煌妈,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儡羔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡璧诵,警方通過(guò)查閱死者的電腦和手機(jī)汰蜘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)之宿,“玉大人族操,你說(shuō)我怎么就攤上這事〕喝保” “怎么了坪创?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)姐赡。 經(jīng)常有香客問(wèn)我莱预,道長(zhǎng),這世上最難降的妖魔是什么项滑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任依沮,我火速辦了婚禮,結(jié)果婚禮上枪狂,老公的妹妹穿的比我還像新娘危喉。我一直安慰自己,他們只是感情好州疾,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布辜限。 她就那樣靜靜地躺著,像睡著了一般严蓖。 火紅的嫁衣襯著肌膚如雪薄嫡。 梳的紋絲不亂的頭發(fā)上氧急,一...
    開(kāi)封第一講書(shū)人閱讀 49,798評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音毫深,去河邊找鬼吩坝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛哑蔫,可吹牛的內(nèi)容都是我干的钉寝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼闸迷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嵌纲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起稿黍,我...
    開(kāi)封第一講書(shū)人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤疹瘦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后巡球,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體言沐,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年酣栈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了险胰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矿筝,死狀恐怖起便,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窖维,我是刑警寧澤榆综,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站铸史,受9級(jí)特大地震影響鼻疮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜琳轿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一判沟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧崭篡,春花似錦挪哄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至颠毙,卻和暖如春斯入,著一層夾襖步出監(jiān)牢的瞬間拿霉,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工咱扣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涵防。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓闹伪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親壮池。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偏瓤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

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

  • 故鄉(xiāng)瑣憶 故鄉(xiāng)永遠(yuǎn)固定在那個(gè)地方,記憶中的它永遠(yuǎn)都是那樣溫暖椰憋。 “換豆腐里.....換豆腐里......早上我還沒(méi)...
    白卉閱讀 751評(píng)論 4 18
  • 雞湯永遠(yuǎn)只會(huì)告訴你一些必要卻并不充分條件厅克。
    AshTsang閱讀 214評(píng)論 0 0
  • 人們常說(shuō):“跟好人學(xué)好人证舟,跟巫婆跳大神〈捌铮”這是告誡人們女责,只有跟對(duì)人,才能走對(duì)路创译。 沒(méi)有行政的指令抵知,沒(méi)...
    林忠玲閱讀 1,050評(píng)論 0 8