好。因此,我环顾了网上,并阅读了有关此相对较新的iOS警告的类似问题。我的应用程序不使用情节提要。我只有一个简单的问题。什么是“分离的视图控制器”,任何人都可以提供明确的引用(例如对Apple文档),以提供“分离的视图控制器”的定义,因为我们将在此警告的上下文中理解它。如果没有人真正真正地了解分离视图控制器是什么,那么我看不到这个问题的其他答案远比摸索和猜测还多。

最佳答案

分离视图控制器是当前不在[[[UIApplication sharedApplication] keyWindow] rootViewController]层次结构中的视图控制器

例如,我可以在代码中的任何地方实例化一个UIViewController,但是如果我从不通过将其设置为rootViewController或将其放入rootViewController的导航堆栈中来将其置于此层次结构中,那么当我在其中显示某些内容时,我会得到奇怪/未定义的行为它。

示例:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    UIViewController* a = [[UIViewController alloc] init];
    UIViewController* b = [[UIViewController alloc] init];
    UIViewController* someOtherVC = [[UITableViewController alloc] init];



    self.window.rootViewController = a;
    //Works fine :)
    [a presentViewController:someOtherVC animated:YES completion:nil];

    //might break the world
    [b presentViewController:someOtherVC animated:YES completion:nil];

}

关于ios - 不建议在独立 View Controller 上显示 View Controller -“独立 View Controller ”的定义吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33378618/

10-13 00:29