iOS分類中通過runtime新增動態屬性

2021-07-15 10:36:42 字數 743 閱讀 8819

1.先建立乙個類

@property (assign, nonatomic) nsinteger age;

-(void)run;

@end

#import "person.h"

@implementation

person

-(void)run

@end

2.定義分類

#import "person.h"

@inte***ce

person (personextention)

@property (copy, nonatomic) nsstring *name;

-(void)say***;

@end

#import "person+personextention.h"

#import

@implementation

person (personextention)

//定義常量 必須是c語言字串

static

char *personnamekey = "personnamekey";

-(void)setname:(nsstring *)name

-(nsstring *)name

-(void)say***

@end

3.總結:一般在分類中不能新增屬性,但必須要用到的時候,可以用runtime機制來實現

iOS分類中通過runtime新增動態屬性

這個的話並不是說 可以 在程式執行的時候 來幾個 未知的東西 就新增什麼 1 2 3 4 5的屬性。而是可以在系統原有類的基礎上 給那個類 集合實際的工程來新增你方便實用的東西。比如 乙個 label 有 乙個 backgroundcolor屬性,我要給它新增乙個 其他的 比如 文字 第乙個字的co...

iOS開發中runtime的使用

事實證明 1.傳送訊息 implementation viewcontroller void viewdidload end implementation uiimage image 載入分類到記憶體的時候呼叫 void load 注意 不能在分類中重寫系統方法imagenamed,因為會把系統的功...

iOS 用runtime為分類新增成員變數或屬性

關於ios分類 很多說法是只能新增方法,而不能新增成員變數或屬性。有些人可能知道,這種說法是不嚴謹的,並不是絕對不能新增變數。解釋如下 我們知道在乙個類中用 property宣告屬性,編譯器會自動幫我們生成 成員變數和setter getter,但分類的指標結構體中,根本沒有屬性列表。所以在分類中用...