我没有使用全部故事板,但我仍然收到此错误

时间:2017-07-18 06:03:14

标签: ios swift

我根本没有使用main.storyboard并通过代码创建所有内容,但是我的app代理中的代码出现此错误。

Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?

var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        let rootView = HomeCollectionViewController(collectionViewLayout: UICollectionViewFlowLayout())

        if let window = self.window {
            window.rootViewController = rootView
        }

        return true
    }

3 个答案:

答案 0 :(得分:2)

如果您不打算使用故事板,则需要在项目文件中进行一些配置以让Xcode知道。目标下 - >部署信息您可以看到主界面的设置,将其设置为空白,然后它不会在故事板中查找入口点。

enter image description here

此外,当您在代码中执行所有操作时,city实例需要实例化并且可见,这允许您开始呈现视图控制器。

UIWindow

答案 1 :(得分:1)

您只需从.plist文件Main storyboard file base中删除密钥并再次运行即可。

此外,如果您获得黑屏,则必须按照上述答案self.window?.makeKeyAndVisible()设置窗口。

答案 2 :(得分:0)

在我的评论之上,添加一个答案。如果此时使用的是故事板,则应将视图控制器添加到UIStoryboard。如果您要删除UIStoryboard,则仍可以在没有它的情况下继续使用。在stackoverflow中,它已被回答here