iOS類的屬性研究

2021-07-31 07:52:40 字數 1101 閱讀 9219

定義乙個類並定義一些屬性用來測試。

@inte***ce sktestclassproperty : nsobject

/** * @brief 測試字串屬性   "t@\"nsstring\",c,v_name"

*/@property (nonatomic, copy) nsstring *name;

/** * @brief 測試整形屬性    nsinteger tq,n,v_price     cgfloat td,n,v_price  bool tb,n,v_price  int ti,n,v_price

*/@property (nonatomic, assign) nsinteger price;

/** * @brief 測試字典屬性  t@\"nsarray\",c,n,v_peopertyarray

*/@property (nonatomic, copy) nsarray *peopertyarray;

/** * @brief 屬性字典

* * @return dic

*/- (nsdictionary *)propertydict;

@end

實現:

#import

"sktestclassproperty.h"

#import

@implementation sktestclassproperty

-(nsdictionary *)propertydict

return dict;

}/**

* @brief  列印出的是這個樣子的

t  c  n  v 是蘋果提供的編碼   蘋果對每個變數的型別進行了編碼 同樣對方法也進行了編碼

name = "t@\"nsstring\",c,n,v_name";  表示這是乙個nsstring 型別的屬性 c 代表了copy n代表了nontamic  v_name 是變數的名字 這裡蘋果對名字也進行了編碼

*/@end

- (void)viewdidload
控制台列印結果:

IOS類的動態屬性研究

當我用valueforkey的時候,如果沒有這個key 會自動呼叫這個方法,然後就可以在這個方法裡進行一些操作了 id valueforundefinedkey nsstring key return super valueforundefinedkey key 當我掉乙個沒有宣告和實現的方法的時候...

iOS 屬性的屬性

賦值 class.propertya instancea retain,assign,copy 只影響 instancea的計數,可能增加,可能不變。到這句執行完畢為止,只要instancea是合法的,propertya就是合法的。retain,assign,copy 誰建立了instancea還是...

iOS給已有類新增屬性

給已有類新增方法使用類別 category 就可以了,步驟也很簡單,xcode已整合好了建立類別的框架.那麼怎麼給已有類拓展乙個屬性,甚至更多呢?網上也有不少方法,我在此分享一種使用runtime機制來實現此功能.以nsstring為例 給nsstring類新增兩種型別的屬性,字串型別的tag值st...