利用runtime动态生成对象?

Posted yxysuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用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动态生成对象?的主要内容,如果未能解决你的问题,请参考以下文章

java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象

利用jquery.ajax在jsp页面动态生成table,可以增加修改,并支持一行和多行删除

Java运行时动态生成类几种方式

利用js动态生成一个简单的商品详情页

Runtime 实现 动态添加属性

如何利用vue组件 动态生成router-link