首页 > 代码库 > 利用runtime动态生成对象?
利用runtime动态生成对象?
利用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动态生成对象?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。