gpt4 book ai didi

ios - 在 applicationDelegate 中初始化和分配 View Controller 会使 viewController 中的所有 UI 元素为 nil

转载 作者:行者123 更新时间:2023-11-29 01:16:41 24 4
gpt4 key购买 nike

在我的 ApplicationDelegate 中:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {

initMembers()
runTutorialIfNeeded()
return true
}

func initMembers()
{
window = UIWindow(frame: UIScreen.mainScreen().bounds)
mainViewController = InlineMainViewController()
window?.rootViewController = mainViewController
window?.makeKeyAndVisible()
}

但是这一行会导致一个问题:

mainViewController = InlineMainViewController()

当代码达到override func viewDidLoad() {

时,所有UIElements都为零

如果我评论这一行mainViewController = InlineMainViewController()主 Storyboard 中的所有 Ui 元素都不为零

我该如何解决这个问题?我需要在 applicationDelegate 中保存主 viewController 的引用,以便在 messageMgr: GNSMessageManager 发送事件时与其交互。

最佳答案

您错误地初始化了 ViewController。如果您使用的是 Storyboard,那么您应该这样写:

    let storyboard = UIStoryboard(name: "YourStoryBoardFileName", bundle: nil)
mainViewController = storyboard.instantiateViewControllerWithIdentifier("your_VC_ID")
window.rootViewController = mainViewController
window.makeKeyAndVisible()

如果您使用的是 NIB/XIB 文件,那么您应该这样写:

let mainViewController = YourViewController(nibName:"YourVCNibName", bundle:nil)

如果您只是像 InLineViewController() 一样初始化它,则没有 View 附加到它,因此一切都是 nil。

关于ios - 在 applicationDelegate 中初始化和分配 View Controller 会使 viewController 中的所有 UI 元素为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35101685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com