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];

}

原文地址:https://www.cnblogs.com/lovechengyu/p/5530857.html