Ios 如何显示动态创建的视图控制器

Ios 如何显示动态创建的视图控制器,ios,view,uiviewcontroller,Ios,View,Uiviewcontroller,我遇到了一个问题,我不知道该怎么办 在我的应用程序中-当用户登录时,有4个选项 1-向他展示仪表板屏幕 2-如果出现响应,则向他显示默认屏幕(包含此屏幕名称的参数) 3-如果响应的参数为on,则显示变更计划屏幕 4-在用户设置其计划后显示更改pin屏幕 现在的问题是,在设置他的pin后如何进入默认屏幕,因为我不知道屏幕名称(查看控制器名称,因为它是动态的,来自服务器) 代码 NSLog(@"Default Screen %@", mClient.defaultScreen); if([mCli

我遇到了一个问题,我不知道该怎么办

在我的应用程序中-当用户登录时,有4个选项

1-向他展示仪表板屏幕

2-如果出现响应,则向他显示默认屏幕(包含此屏幕名称的参数)

3-如果响应的参数为on,则显示变更计划屏幕

4-在用户设置其计划后显示更改pin屏幕

现在的问题是,在设置他的pin后如何进入默认屏幕,因为我不知道屏幕名称(查看控制器名称,因为它是动态的,来自服务器)

代码

 NSLog(@"Default Screen %@", mClient.defaultScreen);
if([mClient defaultScreen] != (id)[NSNull null] || [mClient defaultScreen].length != 0 ) {
    NSLog(@"Going to push default screen : %@", mClient.defaultScreen);
    [self pushDefaultScreen:mClient.defaultScreen];

} else {

    NSLog(@"Default screen is nil, going to load dashboard");
    [mClient setUPProgressHUDForView:self.view withLable:@"Generating Dashboard" andMessage:@"Please Wait.."];
    for(UIView *subview in [self.scrollView subviews]) {
        [subview removeFromSuperview];
    }
    NSLog(@"-->    :::  Going to change here");
    [self generateDashboard];
}


if(![mClient.showSetPinScreen isEqual:[NSNull null]] && ![mClient.showSetPinScreen isEqualToString:EMPTY_STRING]) {
    NSLog(@"Parameter showSetPinScreen : %@", mClient.showSetPinScreen);
    if([mClient.showSetPinScreen    isEqualToString:STRING_VALUE_YES]) {
        NSLog(@"mClient.showSetPinScreen parameter value is Y");
        SetPinViewController *changePinViewController = [[SetPinViewController alloc] initWithNibName:@"SetPinViewController" bundle:nil];
        changePinViewController.isFromLogin = STRING_VALUE_YES;
        [self.navigationController pushViewController:changePinViewController animated:YES];
    } else {
        NSLog(@"mClient.showSetPinScreen parameter value is N");
    }

}


if(![mClient.showCardPlanScreen isEqual:[NSNull null]] && ![mClient.showCardPlanScreen isEqualToString:EMPTY_STRING]) {
    NSLog(@"Parameter showCardPlanScreen : %@", mClient.showCardPlanScreen);
    if([mClient.showCardPlanScreen isEqualToString:STRING_VALUE_ZERO]) {
        NSLog(@"Do nothing");
    } else if([mClient.showCardPlanScreen isEqualToString:STRING_VALUE_ONE] || [mClient.showCardPlanScreen isEqualToString:STRING_VALUE_TWO]) {
        NSLog(@"Show card plan screen %@", mClient.showCardPlanScreen);
        ChangePlanViewController *changePlanVoewController = [[ChangePlanViewController alloc] initWithNibName:@"ChangePlanViewController" bundle:nil];
        changePlanVoewController.isFromLogin = STRING_VALUE_YES;
        [self.navigationController pushViewController:changePlanVoewController animated:YES];
    }

或者,您可以在故事板上创建其中的4个,一个加载视图,其中4个视图与segues相关,并在dispatch方法中使用正确的标识符调用performSegue