字符串生成Class&Selector&Protocol

NSClassFromString批量化初始化

有时候一个一个类初始化过于麻烦,比如很多的subview

可以用字符串控制类名,然后根据字符串进行初始化等操作

这里属于Runtime的范畴,根本机制是由于OC的消息机制

    NSArray *StrArray = @[@"class0",
                       @"class1",
                       @"class2",
                       @"class3",
                       @"class4"];
    for (int i = 0; i < array.count; ++i) {
        id object = [[NSClassFromString([array objectAtIndex:i]) alloc]init];
        [ClassArray addObject:object];
    }

苹果头文件NSObCRuntime.h中摘抄

FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);
FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);

FOUNDATION_EXPORT NSString *NSStringFromClass(Class aClass);
FOUNDATION_EXPORT Class __nullable NSClassFromString(NSString *aClassName);

FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAILABLE(10_5, 2_0);
FOUNDATION_EXPORT Protocol * __nullable NSProtocolFromString(NSString *namestr)NS_AVAILABLE(10_5, 2_0);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,851评论 0 9
  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    琦均煞Sylar阅读 435评论 0 0
  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    small_Sun阅读 464评论 0 4
  • 转自:http://www.cnblogs.com/allencelee/p/7169071.html设计模式是什...
    RichieQ阅读 550评论 0 4
  • 想看的是她的生活她的故事。倔强。私人飞机。
    这里Cc阅读 98评论 0 0