定義Property時的那些屬性

最近第一次接手了一個iOS的開發(fā)項目。通過這次項目對iOS開發(fā)中使用的Objective-C的語法有了一些初步認(rèn)識。

對于軟件開發(fā)來說定義Property是必不可少的俗他。Objective-C在定義Property的時候就有可以指定屬性來修飾Property。

整理了一下常用的大致有以下幾個。

  • nonatomic
  • strong
  • weak
  • assign
  • copy

其中常用的組合:

// 通常聲明property的似乎佃牛,都是這3種組合
@property (nonatomic, strong) NSMutableArray *array;
@property (nonatomic, copy) NSString *iconName;
@property (nonatomic, assign) BOOL shouldRemind;

// 但是在聲明storybord的UI控件的Outlet時,也會用這種組合
@property (nonatomic, weak) IBOutlet UITextField *textField;

各種屬性的說明是這樣的医舆。

屬性 說明
nonatomic 非線性安全俘侠,與之相對應(yīng)的是atomic
strong 強(qiáng)引用,與之相對應(yīng)的是weak
weak 弱引用蔬将,與之相對應(yīng)的是strong
assign 簡單賦值
copy 復(fù)制賦值

nonatomic很好理解爷速,iOS中和UI相關(guān)的通常指定非線程安全就可以了,不過nonatomic雖然很常用霞怀,但它不是默認(rèn)的屬性惫东,默認(rèn)的是atomic。

strong和weak是一對相對的屬性毙石,Xcode4還是5引入ARC(自動引用計數(shù))來管理內(nèi)存后廉沮,新添加的一對屬性。其中被strong修飾的property指向一個對象后徐矩,會觸發(fā)該對象的ARC自加滞时,同樣當(dāng)著這個property被設(shè)成nil后,該對象的ARC會自減滤灯;被weak修飾的property指向一個對象時坪稽,不會觸發(fā)該對象的ARC自加,相對的被設(shè)成nil后鳞骤,該對象的ARC也不會自減窒百,同樣當(dāng)該對象的ARC歸零后被會系統(tǒng)回收后,weak修飾的property也會自動被設(shè)成nil弟孟。

最后就是assign和copy其實還有一個retain贝咙,關(guān)于這組修飾用的屬性,涉及到property實現(xiàn)的拂募。

@interface NewClass ()
// 通常我們是向下下面一樣定義property
@property (nonatomic, copy) NSString *propertyName
@end

@implementation AllListsViewController {
    NSString *_propertyNewName;
}
// 當(dāng)然我們也可以這么定義property
@synthesize propertyNewName = _propertyNewName;

// getter
- (NSString *) propertyNewName {
    return _propertyNewName
}

// setter
- (void) setPropertyNewName:(NSString *)propertyNewName {
   // 暫留
}
@end

而這3個修飾用的屬性的區(qū)別就在setter里面

  • assgin就是指直接復(fù)制
- (void) setPropertyNewName:(NSString *)propertyNewName {
   // assign是大概這個樣子的庭猩。
   _propertyNewName = propertyNewName;
}
  • copy則是先release陈症,然后再用參數(shù)的值copy了蔼水。
- (void) setPropertyNewName:(NSString *)propertyNewName {
     // copy是大概這個樣子的。
     [_propertyNewName release]录肯;
     _propertyNewName = [propertyNewName copy];
}
  • retain和copy很像趴腋。只不過是用參數(shù)值的retain函數(shù)
- (void) setPropertyNewName:(NSString *)propertyNewName {
     // copy是大概這個樣子的。
     [_propertyNewName release];
     _propertyNewName = [propertyNewName retain];
}

以上就是幾個常用的來修飾property的屬性优炬,初次之外還有readonly和readwrite這兩個颁井,顧名思義這兩個屬性就是控制property的讀寫權(quán)限的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蠢护,一起剝皮案震驚了整個濱河市雅宾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葵硕,老刑警劉巖眉抬,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異懈凹,居然都是意外死亡蜀变,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門介评,熙熙樓的掌柜王于貴愁眉苦臉地迎上來库北,“玉大人,你說我怎么就攤上這事们陆∠凸撸” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵棒掠,是天一觀的道長。 經(jīng)常有香客問我屁商,道長烟很,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任蜡镶,我火速辦了婚禮雾袱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘官还。我一直安慰自己芹橡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布望伦。 她就那樣靜靜地躺著林说,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屯伞。 梳的紋絲不亂的頭發(fā)上腿箩,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音劣摇,去河邊找鬼珠移。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钧惧。 我是一名探鬼主播暇韧,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浓瞪!你這毒婦竟也來了懈玻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤追逮,失蹤者是張志新(化名)和其女友劉穎酪刀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钮孵,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骂倘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了巴席。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片历涝。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漾唉,靈堂內(nèi)的尸體忽然破棺而出荧库,到底是詐尸還是另有隱情,我是刑警寧澤赵刑,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布分衫,位于F島的核電站,受9級特大地震影響般此,放射性物質(zhì)發(fā)生泄漏蚪战。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一铐懊、第九天 我趴在偏房一處隱蔽的房頂上張望邀桑。 院中可真熱鬧,春花似錦科乎、人聲如沸壁畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捏萍。三九已至,卻和暖如春玉吁,著一層夾襖步出監(jiān)牢的瞬間照弥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工进副, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留这揣,地道東北人悔常。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像给赞,于是被迫代替她去往敵國和親机打。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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

  • 男朋友消失了一個晚上片迅,毫無預(yù)兆残邀,確又聯(lián)系不上,打電話明明正在通話中確就是不理會我再次打進(jìn)的電話柑蛇,一個夜晚漫長...
    美娜1023閱讀 408評論 0 1
  • 元人 多年前初游歐洲,滿目新鮮盆耽,但印象最深的卻是兩件小事蹋砚。一件是老人過馬路。每當(dāng)此時摄杂,所有車輛都會停下來坝咐,沒有搶行...
    牧云元人閱讀 65評論 0 0
  • 今晚看了《河神》的大結(jié)局,看了《春風(fēng)十里不如你》的精彩31.32集析恢,總覺得太感動了墨坚,想矯情一下! 小...
    載遠(yuǎn)方閱讀 259評論 0 0