动态生成类

// 动态创建对象 创建一个Person 继承自 NSObject类
Class People = objc_allocateClassPair([NSObject class], "Person", 0);

    // 为该类添加NSString *_name成员变量
    class_addIvar(People, "_name", sizeof(NSString*), log2(sizeof(NSString*)), @encode(NSString*));
    // 为该类添加int _age成员变量
    class_addIvar(People, "_age", sizeof(int), sizeof(int), @encode(int));

    // 注册方法名为say的方法
    SEL s = sel_registerName("say:");
    // 为该类增加名为say的方法
    class_addMethod(People, s, (IMP)sayFunction, "v@:@");

    // 注册该类
    objc_registerClassPair(People);

你可能感兴趣的:(动态生成类)