OC 屬性點語法

2022-10-10 16:09:09 字數 1430 閱讀 5987

點語法和@property

知識點一、setter和getter方法

帶上下劃線

二、點語法

//乙個引數的set方法可以使用點語法賦值

[xiaoxin setname:@「小新」];

//這不是使用成員變數,是使用set方法

xiaoxin.name = @"小新";

//可以通過.語法呼叫get方法

nsstring * ret = [xiaoxin name];

ret = xiaoxin.name;

在等號左邊就是set方法,使用這個表示式的值,就是get方法

練習:三、屬性(@property)和合成(@synthesize)

//宣告乙個屬性,相當於宣告了下面兩個方法

//宣告乙個屬性,而且會同時生成乙個名為_***的成員變數

@property nsstring * name;

//- (void)setname:(nsstring *)name;

//- (nsstring *)name;

//會自動關聯名為_name的變數;//_name是私有的

@synthesize name = _name;

以前,需要這樣實現,如同實現了下面兩個方法;

起,無需寫@synthesize,自動實現下面兩個方法,會自動關聯名為_***的變數;

//如果類中並沒有對應的變數,會自動生成相應的變數。

練習:@property屬性

(2)nonatomic      非原子性:不需要加鎖,執行緒不安全的。訪問速度快。

//ui所有的屬性都要用:nonatomic

//預設(預設)修飾符

@property (assign) nsstring * name;

//同時生成set、get方法

直接賦值,展開的set方法:

- (void)setname:(nsstring *)name

_name = name;

//只生成getter,沒有setter

@property (readonly) nsuinteger age;

/預設修飾符

//同時生成set、get方法

@property (readwrite) nsstring *name;

//給get方法起別名

@property (getter = myweight) nsuinteger weight;

//setter修飾符

//給set方法起別名

@property (setter = setlife:) bool alive;

//乙個屬性可以新增多個修飾符,多個修飾符間用逗號隔開。

@property (setter = setusername:, getter = getusername,readonly) nsstring *name;

隨意細解 OC 屬性 點語法 KVC

利用屬性宣告set get方法。學習階段,使用mrc,並在 m 檔案中練習get set方法的完整實現。注意 建立工程 預設是arc狀態 自動管理記憶體 在工程的設定中,將objective c automatic reference counting 的 yes 改為 no,手動管理記憶體 mrc...

OC中關於屬性,特性,點語法的總結

synthesize 屬性的實現部分,實現屬性自動生成的setter以及getter方法.name 屬性名,指定要實現哪乙個屬性生成的setter以及getter方法 name,指定setter和getter方法內部所要操作的例項變數.如果指定的例項變數沒有定義,系統會自動生成指定的例項變數,但是生...

OC之點語法詳解

點語法的本質是對set 和get 方法的呼叫 person p person new p.age 10 上面p.age 10不是給person的成員變數age賦值,而是呼叫person中的setage方法,並傳遞引數10,所以p.age 10就相當於 p setage 10 當然也可以根據呼叫per...