點語法和@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...