1. 程式人生 > >利用runtime動態生成對象?

利用runtime動態生成對象?

per 添加 ans using prop 成對 reg key sans

利用runtime我們能夠動態生成對象、屬性、方法這特性

假定我們要動態生成DYViewController,並為它創建屬性propertyName

1)對象名

NSString *class = @"DYViewController";

const char *className = [class cStringUsingEncoding:NSASCIIStringEncoding];

2)從一個字符串返回一個Class

Class newClass = objc_getClass(className);

3)創建類

Class superClass = [

UIViewController class];

newClass = objc_allocateClassPair(superClass, className, 0);

4) 註冊

註冊你創建的這個類

objc_registerClassPair(newClass);

5)創建DYViewController對象

id instance = [[newClass alloc] init];

6)給類添加屬性propertyName,值為propertyValue

利用kvc賦值

[instance setValue:propertyValue forKey:propertyName];


利用runtime動態生成對象?