我没有使用故事板,所以我在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!'
"
你能帮助我吗?
答案 0 :(得分:0)
NSCoding
。 NSCoding
用于将对象归档和取消归档NSData
格式,您只想创建一个新的LineChartViewController
实例。
因此,当您设置rootViewController
:
window?.rootViewController = LineChartViewController()
要进行设置,您应该覆盖viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: dispatch_get_main_queue())
}