【问题标题】:Two view controllers being instantiated on start up启动时实例化两个视图控制器
【发布时间】:2015-04-05 00:55:43
【问题描述】:

我有一个带有 2 个视图控制器和 1 个导航视图控制器的故事板。

看起来像:

1VC 1导航-VC--->2VC

第一个 View Controller 是 Xcode 在您选择“1 single view App”时创建的,它是应用程序的入口点。

现在我已经创建了导航控制器和附加到它的第二个视图控制器。我已经更改了入口点,所以现在应用程序以该导航控制器启动。

一切正常,但第一个视图控制器也在启动时被实例化(但未显示)(我在 -viewDidLoad 中使用 NSLog())。我不知道为什么会这样,因为第一个 VC 现在没有连接到任何东西,并且该 VC 的入口点已停用。

有人知道为什么会这样吗?

谢谢!

截图 SB: http://i.stack.imgur.com/DY6C9.png

对于导航控制器:

http://i.stack.imgur.com/xTlID.png

我也尝试过覆盖:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

     UINavigationController *viewController =  [storyboard instantiateViewControllerWithIdentifier:@"myStoryboard1"];



    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];

    return YES;
}

【问题讨论】:

  • 它可能仍在 AppDelegate 中创建。尝试从你的项目中删除第一个视图控制器,看看你得到哪个错误;-)。
  • 你能给你的故事板截图吗
  • 你能粘贴你的代码吗?

标签: ios xcode storyboard viewcontroller


【解决方案1】:

我刚刚意识到发生了什么。我的第一个场景使用了一个名为“ViewController”的视图控制器类。当我创建第二个 VC 而不是从 UIViewController 扩展时,我输入了 ViewController。

新手错误。

还是谢谢你。 ;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 2016-08-23
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    相关资源
    最近更新 更多