特性(property)是object-c 中組合了新的預編譯指令和新的屬性的訪問器語法。新的特性功能顯著減少了必須編寫的冗長**的數量。
//老**
@inte***ce allweatherradial:tirl
-(void ) setrainhandling:(float )rainhandling;
-(float )rainhandling;
-(void ) setsnowhandling:(float )rainhandling;
-(float )snowhandling;
@end
@property預編譯指令的作用是自動宣告屬性的setter和getter方法。//改為特性風格的**
#import
#import tirl;
@inte***ce allweatherradial:tirl
@property float rainhandling;//表明allweatherradial類的物件具有float型別的屬性,其名稱為rainhandling.
@property float snowhandling;
@end
還有其他的特性,如:
@synthesize 也是一種新的編譯器功能,表示「建立該屬性的訪問器」。檔遇到**@synthesize rainhandling;編譯器將輸出-setrainhandling:和-rainhandling 方法的已編譯的**。
預設情況下,特性可修改:既可讀入也可以寫入。使用特性的readwrite屬性,如:
也可以是唯讀屬性:@property (readwrite ,copy) nsstring *name;//可明確表達自己的意圖,通常不需要
@property (readwrite ,copy) engine *engine;
注意:特性不支援那些需要接受額外引數的方法。@property (readonly) float shoesize ;//唯讀屬性,則編譯器只為該屬性生成乙個getter方法。
黑馬程式設計師 Object C 類別
類別是一種為現有的類新增新方法的方法。宣告類別 類別的宣告格式和類的宣告格式相似 inte ce nsstring numberconvenice 類別的名稱是numberconvenience,該類別將向nsstring類中新增方法 nsstring lengthasnumber end 宣告具有...
黑馬程式設計師 Object C之迴圈引用
asp.net unity開發 net培訓 期待與您交流!關於迴圈引用的解決方法 兩端迴圈引用解決方案 1 一端用retain 2 一端用assign 首先定義兩個類 card person,其中card中又person的屬性,person中又card得屬性。1 card的宣告 class pers...
黑馬程式設計師 Object C基礎 九 記憶體管理
管理範圍 任何繼承了 nsobject 的物件,對其他基本資料型別 int char float double struct enum等 無效 只要你呼叫了retain,無論這個物件是如何生成的,你都要呼叫release void setbook book book void dealloc 使用場...