iOS關(guān)鍵字retain,assign,copy整理

從事iOS開發(fā)有些年頭了發(fā)現(xiàn)有些基礎(chǔ)的東西還是會因為時間久遠(yuǎn)而不記得一些細(xì)節(jié),現(xiàn)在開始慢慢整理一些東西來幫助思考.

簡單摘要

assign :簡單賦值舍悯,不會更改索引計數(shù)
retain: 釋放舊的對象肥荔,將舊對象的值賦予輸入對象,再提高輸入對象的索引計數(shù)為1
copy: 會建立一個索引計數(shù)為1的對象速种,然后釋放舊對象

readonly:表示這個屬性是只讀的,就是只生成getter方法脯颜,不會生成setter方法
readwrite:屬性為可讀寫
nonatomic:非原子性訪問哟旗,不加同步

@synthesize、:編譯器自動實現(xiàn)getter/setter方法
@dynamic:手動實現(xiàn)getter/setter方法
@property:

copy, retain, assign區(qū)別

retain:釋放舊的對象栋操,將舊對象的值賦予輸入對象闸餐,再提高輸入對象的索引計數(shù)為1
assign: 簡單賦值,不更改索引計數(shù)(Reference Counting)
copy: 建立一個索引計數(shù)為1的對象矾芙,然后釋放舊對象


* 使用assign: 對基礎(chǔ)數(shù)據(jù)類型 (NSInteger)和C數(shù)據(jù)類型(int, float, double, char,等)
* 使用copy: 對NSString
* 使用retain: 對其他NSObject和其子類

copy的使用舉例

@property(nonatomic舍沙,copy)NSString * str;

在setter方法中

- (void)setStr:(NSString *)str{ 
        if(_str != str){      //判斷是否需要重新賦值
       [_str release];      //釋放舊引用剔宪,計數(shù)器-1
       _str = [str copy];   //重新賦值拂铡,使用copy }
}

- (void)test{
    NSMutableSting *s = [[NSMutableSting alloc] setString:@"hello"];  
     p.str = s; //此時,str的值為@"hello" 
   [s appendString:@"world"]; //此時葱绒,s的值為"hello world"感帅,但是str的值依然為"hello". 
}

@dynamic @synthesize 區(qū)別

@synthesize 如果沒有手動實現(xiàn)setter方法和getter方法,那么編譯器會自動加上這兩個方法
@dynamic 告訴編譯器屬性的setter與getter方法由用戶自己實現(xiàn)地淀,不自動生成失球。(對于readonly的屬性只需提供 getter方法即可)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帮毁,隨后出現(xiàn)的幾起案子实苞,更是在濱河造成了極大的恐慌,老刑警劉巖烈疚,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黔牵,死亡現(xiàn)場離奇詭異,居然都是意外死亡爷肝,警方通過查閱死者的電腦和手機猾浦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進(jìn)店門陆错,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跃巡,你說我怎么就攤上這事危号。” “怎么了素邪?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵外莲,是天一觀的道長。 經(jīng)常有香客問我兔朦,道長偷线,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任沽甥,我火速辦了婚禮声邦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摆舟。我一直安慰自己亥曹,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布恨诱。 她就那樣靜靜地躺著媳瞪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪照宝。 梳的紋絲不亂的頭發(fā)上蛇受,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音厕鹃,去河邊找鬼兢仰。 笑死,一個胖子當(dāng)著我的面吹牛剂碴,可吹牛的內(nèi)容都是我干的把将。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼忆矛,長吁一口氣:“原來是場噩夢啊……” “哼察蹲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洪碳,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤递览,失蹤者是張志新(化名)和其女友劉穎叼屠,沒想到半個月后瞳腌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡镜雨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年嫂侍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡挑宠,死狀恐怖菲盾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情各淀,我是刑警寧澤懒鉴,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站碎浇,受9級特大地震影響临谱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奴璃,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一悉默、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧苟穆,春花似錦抄课、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岭辣,卻和暖如春吱晒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沦童。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工仑濒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人偷遗。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓墩瞳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氏豌。 傳聞我的和親對象是個殘疾皇子喉酌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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