iOS开发-关于广告轮播页自动跳转controller的问题

最近在项目中遇到这么一个场景,首页的广告轮播页需要根据服务端的配置,跳转到不通的界面。

首先想到的就是反射,对反射真心的不太熟,所以在网上查查资料,用下面的方法实现的。

-(void)remoteNotificationDictionary:(CHomeAdModel *)model {

    

    NSString *strClassName = model.strTarget;

    

    NSDictionary *dicParams = model.dicParams;

    

    // 根据字符串反射出我们想要的类,并初始化控制器

    Class class = NSClassFromString(strClassName);

    UIViewController *controller = [[class alloc] init];

    // 获取参数列表,使用枚举的方式,对控制器进行KVC赋值

    NSDictionary *parameter = dicParams;

    [parameter enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {

        if ([[parameter allKeys] containsObject:key]) {

            [vc setValue:obj forKey:key];

        }

    }];

    [self.navigationController pushViewController:controller animated:YES];

}

posted @ 2016-05-26 13:51  攻城狮~2022  阅读(531)  评论(0编辑  收藏  举报
所有内容都是自己使用过程的总结,如有不严谨或者不正确的地方,麻烦大家留言指出,一起研讨。