1.@property
屬性修飾符
//@property
屬性修飾符:
@property () //
多個修飾符之間用逗號隔開
:預設修飾符。可讀可寫,既有
setter
方法,也有
getter方法
唯讀。只有
getter
方法,沒有
setter方法
預設修飾符。原子的,考慮執行緒安全
非原子操作。
ios開發中,官方類的屬性一般是
nonatomic
型別的,所以我們一般也寫成
nonatomic.
基礎資料型別(
int/float/char/double/long
)的預設修飾符。直接賦值。
//6.
物件:1>
字串:
copy
// 2>
其他物件:
retain
//7.
修改setter
或者getter
方法的名字(給
setter
或getter
方法起別名)
//setter
和getter
方法名可以不一致
//姓名,年齡
@property(nonatomic,copy) nsstring *name; //姓名
@property(nonatomic,assign,setter = setmouseage:,getter = mouse) int age; //年齡
2.訪問控制 //
訪問控制:預設的是受保護型別
@protected //
訪問控制針對的是成員變數。成員方法沒有訪問控制。
//1.@protected
:預設,受保護型別。在類內減方法中可以直接使用,在類外不能直接使用,但是可以通過方法間接使用。子類可以直接使用。
//2.@private:
私有的。在類內可以直接使用,在類外不能直接使用,但是可以通過方法間接使用。子類不可以直接使用,但可以通過父類的方法間接使用。
//3.@public:
公有的。類內和類外都可以直接使用。
3.為什麼需要在.m中加上
@synthesize age = _age;
@implementation work
//xcode 4.3
開始可以
省去@synthesize xcode
會自動加上
//@synthesize height = _height;
//協議中出現了
@property
那麼遵守協議的類
必須要手動新增上
@synthesize age = _age;
這時xcode
不會自動加上的
//必須加上
@synthesize age = _age;
- (void)func {
@end
4.前向宣告 //
前向宣告:告訴
teacher
這個類,接下來要使用的
children
是乙個類。 //
在乙個類的
.h中,如果要使用另外乙個類,那麼使用前向宣告的方式,為了避免彼此包含。 //
前向宣告後,如果要在當前類的
.m中使用另外乙個類
(children類)
,仍然要匯入標頭檔案 //
前向宣告時,注意類名不要拼錯
(拼錯就相當於宣告乙個新類)
@class
children;
python 屬性修飾符 property
property,指示getter方法 name.setter,知識setter方法 class duck def init self,input name self.hidden name input name def get name self print inside getter retur...
property的修飾符
1.原子操作修飾符 atomic 原子的,執行緒保護,預設屬性 nonatomic 非原子的,在多執行緒情況下使用,可以提高效率,常用 2.讀寫屬性 readonly 唯讀,只能生成getter readwrite 預設屬性,可讀可寫,生成getter和setter 3.賦值屬性 記憶體管理 ass...
iOS 屬性修飾符
1.讀寫性修飾符 readwrite readonly readwrite 表明這個屬性是可讀可寫的,系統為我們建立這個屬性的setter和getter方法。readonly 表明這個屬性只能讀不能寫,系統只為我們建立乙個getter方法,不會建立setter方法 2.setter相關修飾符 ass...