根据服务器返回的不同消息实现跳转到不同的控制器
- (void)pushViewControllerWithName:(NSString *)methodName parameters:(NSDictionary *)param {
UIViewController *vc = [[NSClassFromString(methodName) alloc] init];
/**此处可以加一个class属性判断的方法或者根据备注重写kvc赋值方法防止赋值不存在的属性造成崩溃*/
[vc setValuesForKeysWithDictionary:param];
[self presentViewController:vc animated:NO completion:nil];
}
Name:控制器名
parameters:属性数组
备注:属性赋值用到kvc需要重写一下这个方法(打印不存在的属性)
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
NSLog(@"-----%@:%@", key, value);
}
网友评论