利用runtime動態生成對象?
阿新 • • 發佈:2017-06-12
per 添加 ans using prop 成對 reg key sans
UIViewController
class];
利用runtime我們能夠動態生成對象、屬性、方法這特性
假定我們要動態生成DYViewController,並為它創建屬性propertyName
1)對象名
NSString *class = @"DYViewController";
const char *className = [class cStringUsingEncoding:NSASCIIStringEncoding];
2)從一個字符串返回一個Class
Class newClass = objc_getClass(className);
3)創建類
Class superClass = [
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動態生成對象?