定義乙個類並定義一些屬性用來測試。
@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...