无法设置UIViewControllers

问题描述:

我有一个名为UINavigationControllerTab ViewUIViewController命名FirstView和另一UIViewController命名SecondView无法设置UIViewControllers

FirstViewTab View的RootView,我想改变Tab View的RootView编程方式。

我试图

self.navigationController?.setViewControllers(NSArray(SecondView), animated: true); 

但它给错误:

Cannot Invoke initializer for type 'NSArray' with an argument list of type ((SecondView).Type)

也试过:

self.navigationController?.setViewControllers(NSArray([SecondView]), animated: true); 

这也给出了同样的错误。

+0

重读[集合类型](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html)章节以了解如何使用数组。 –

您必须将实际对象设置为视图控制器,而不是类引用。因此初始化新的SecondView控制器并将viewControllers数组作为第一个对象插入。

+0

这个工作,但它显示改变rootView后的黑屏 – rak

+0

这意味着视图没有加载。您应该正确初始化视图控制器及其视图。 – kirander

+0

,但它在创建Class文件时自动初始化,并且我可以在StoryBoard界面中将该视图设置为rootView时看到视图 – rak