iOS中的類 屬性的建立 使用流程

2021-07-04 02:37:26 字數 1366 閱讀 5704

oc中每乙個類都有乙個.h檔案和.m檔案,

.h檔案存放公共的api,其他模組可以呼叫,

.m檔案檔案存放私有api和所有的介面實現。

示例:card.h 檔案:

#import @inte***ce card : nsobject

@property (strong,nonatomic) nsstring *contents;

@property (nonatomic,getter=ischosen) bool chosen;

@end

card.m 檔案:

#import "card.h"

// 通過類別宣告私有成員

@inte***ce card()

@property (strong, nonatomic) nsmutablearray *cards;

@end

// 類實現

@implementation card

@synthesize contents = _contents;

@synthesize chosen = _chosen;

-(instancetype) init

return self;

}// 在getter中初始化成員變數

-(nsmutablearray *) cards

-(nsstring *) contents

-(void) setcontents:(nsstring *)contents

@end

注意:

使用nsobject必須包含標頭檔案  

#import。

@synthesize

contents = 

_contents

;  為屬性分配例項物件。

@property 語句會自動在

implementation 中生成 @synthesize、getter、setter 語句,但是這些自動生成**對使用者不可見。

在 @property 宣告中的幾個關鍵字:

strong 強指標表示,只要強指標指向的這塊記憶體,有至少乙個強指標指向它,這塊記憶體就不會從堆中被釋放,當沒有強指標指向這塊記憶體時,這塊記憶體立即被釋放;

weak 弱指標表示,只要弱指標指向的這塊記憶體,有至少乙個強指標指向它,則該弱指標也指向它,當沒有強指標指向這塊記憶體時,該弱指標被自動設為nil。

乙個屬性,要麼是強指標,要麼是弱指標。

nonatomic 非原子性表示,該屬性的 getter 和 setter 不是執行緒安全的,不能有兩個執行緒同時設定該屬性。

getter

=method 重設getter方法的名稱

iOS 中的類屬性

ios 知識小集 建立乙個類屬性很簡單,主要有以下幾個步驟 1.使用 property class 來宣告乙個類屬性 2.為類屬性建立乙個儲存變數,通常為全域性變數 3.實現類屬性的getter與setter方法,如果是唯讀屬性,只需要實現getter方法。具體實例如圖2所示。需要注意的是編譯器不會...

ios 子類屬性的更改

你可以重寫乙個 readonly 屬性,並用可寫來替換它。例如,下面定義了乙個類 myinteger 它有乙個唯讀的屬性 value inte ce myinteger nsobject property readonly nsinteger value end implementation myi...

python限定類屬性的類屬性 slots

slots 由於python是動態語言,任何例項在執行期都可以動態地新增屬性。如果要限制新增的屬性,例如,student類只允許新增 name gender和score 這3個屬性,就可以利用python的乙個特殊的 slots 來實現。顧名思義,slots 是指乙個類允許的屬性列表 class s...