如何在UIVIEW和iOS之间切换

如何在UIVIEW和iOS之间切换,ios,ios6,ios7,uiviewcontroller,Ios,Ios6,Ios7,Uiviewcontroller,我所拥有的是一种政治; A->B->C 我需要从B到C和C到B循环这个结构,但是在每个循环中关闭和打开一个新的B。因此,对于循环的第一次,在A中,我呈现B,然后在B中,我从A中去除B,呈现C,然后在C中,从A中去除C,打开B,但它只在循环的第一次起作用,下一次在最后一点,它去除C和B,显示A而不是B,这是我的代码: 以一种方式: 在B中: 在C中: 知道为什么环会断吗?或者我应该如何处理这个问题?您应该有一个RootViewController来管理这个交互,而不是这些错误的变量交叉引用。对于“

我所拥有的是一种政治; A->B->C 我需要从B到C和C到B循环这个结构,但是在每个循环中关闭和打开一个新的B。因此,对于循环的第一次,在A中,我呈现B,然后在B中,我从A中去除B,呈现C,然后在C中,从A中去除C,打开B,但它只在循环的第一次起作用,下一次在最后一点,它去除C和B,显示A而不是B,这是我的代码:

以一种方式:

在B中:

在C中:


知道为什么环会断吗?或者我应该如何处理这个问题?

您应该有一个RootViewController来管理这个交互,而不是这些错误的变量交叉引用。对于“在B中”的示例,您不应该实例化C,然后将其传递给A,然后取消B,现在B有一个对C的引用,而C在A中实际使用。B引用只是挂起。我已经有一个RootViewController,但它是我的应用程序启动时调用的第一个控制器,我可以使用多个RootViewController吗?
Boxes *B = [[Boxes alloc] initWithLevel:level actualUser:actualUser farm:self];
[self presentModalView:B];
CameraViewController *C = [[CameraViewController alloc] initWithBlackboard:1 farm:farmBoard];
    [self dismissViewControllerAnimated:NO completion:^{
        [A presentModalView:C];
    }];
Boxes *B = [[Boxes alloc] initWithLevel:level actualUser:actualUser farm:nil];
            [self dismissViewControllerAnimated:NO completion:^{
                [A presentModalView:B];
            }];