类名写入plist文件,动态引入类

   把类名写入plist文件,动态引入类  

NSString *classNameKey = [moduleData objectForKey:@"class"];

    

    NSDictionary *moduleDic = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Module" ofType:@"plist"]];

    

    NSString *className = [moduleDic objectForKey:classNameKey];

    把对应的字符串映射成对应的类

    Class moduleClass = NSClassFromString(className);

    

    NSObject *module = [moduleClass new];

    

    UIViewController *moduleVC = nil;

    

    if ([module respondsToSelector:@selector(init)])

    {

        NSLog(@"module vc init");

        moduleVC = [module performSelector:@selector(init)];

    }

    if (!moduleVC)

    {

        NSLog(@"notice view");

        moduleVC = [[[NoticeViewController alloc] initWithNibName:nil bundle:nil] autorelease];

    }

    //传参数

    if ([moduleVC respondsToSelector:@selector(getModuleData:)])

    {

        [moduleVC performSelector:@selector(getModuleData:) withObject:moduleData];

    }

    //修改frame

    if ([moduleVC respondsToSelector:@selector(changeFrameWithRect:)])

    {

        [moduleVC performSelector:@selector(changeFrameWithRect:) withObject:NSStringFromCGRect(rect)];

    }

    //显示返回按钮

    if (isShow && [moduleVC respondsToSelector:@selector(createNavBar)])

    {

        [moduleVC performSelector:@selector(createNavBar) withObject:nil];

    }

    

    [module autorelease];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值