1

这个问题与基于运行时选项动态初始化不同的视图控制器有关。基本上,当应用程序启动时,Web 服务会向下发送一段 XML/JSON 来定义用户偏好等。

我们需要根据这些变量确定接下来向用户显示哪个视图控制器。所以我们有一个类会询问某些问题(打开/关闭哪些功能等),然后我们需要能够返回一个类或基于此初始化一个类。由于我不想在每个视图控制器中导入每个视图控制器标头,我如何使用以下方法初始化一个类:

 [[self nextClassManager] getNextClass];

谢谢

4

1 回答 1

0

根据控制器类名,我使用类似的东西从服务器命令打开视图控制器:

- (void)openViewController:(NSString *)theControllerClassName {
    Class theControllerClass = NSClassFromString(theControllerClassName);
    if (theControllerClass && [theControllerClass isSubclassOfClass:[UIViewController class]]) {
        UIViewController* controller = [[theControllerClass performSelector:@selector(alloc)] init];

        UINavigationController *nav = (UINavigationController *)self.tabBarController.selectedViewController;
        [nav pushViewController:controller animated:YES];
        [controller release];
    }
}
于 2013-07-15T11:28:49.723 回答