gpt4 book ai didi

ios - 以编程方式在 AppDelegate 中分配 rootViewController 时发生崩溃

转载 作者:行者123 更新时间:2023-11-30 13:42:43 24 4
gpt4 key购买 nike

我没有使用 Storyboard,所以我在AppDelegate中遇到了问题。 。看起来很简单,但我无法解决问题。

我的Appdelegate.swift文件代码如下。

window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.backgroundColor = UIColor.whiteColor()
window?.rootViewController = LineChartViewController(coder: NSCoder.init())
window?.makeKeyAndVisible()

我的定制LineChartViewController.swift文件代码如下。

required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
centralManager = CBCentralManager(delegate: self, queue: dispatch_get_main_queue())
}

运行此代码后,我收到一条错误消息“decodeObjectForKey: cannot be sent to an abstract object of class NSCoder: Create a concrete instance!'

你能帮我吗?

最佳答案

您不想在此处使用 NSCoding

NSCoding 用于将对象存档和取消存档到 NSData 格式,您只需创建一个新的 LineChartViewController 实例。

因此,当您设置rootViewController时,您需要执行以下操作:

window?.rootViewController = LineChartViewController()

要进行设置,您应该重写viewDidLoad():

override func viewDidLoad() {
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: dispatch_get_main_queue())
}

关于ios - 以编程方式在 AppDelegate 中分配 rootViewController 时发生崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380036/

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