我使用this tutorial创建一个简单的购物列表应用程序。我对这几行代码有问题:
override func viewDidLoad() {
super.viewDidLoad()
required init?(coder aDecoder: NSCoder) { // error appears here
self.init(coder: aDecoder);
loadItems()
}
}
出现错误:只能在类型内声明初始值设定项。
为什么不正确?我该在这里换什么?
最佳答案
初始化器必须放在类型级别,而不是放在任何其他函数中。
class Item: NSObject, NSCoding {
required init?(coder aDecoder: NSCoder) {
self.init(coder: aDecoder)
loadItems()
}
override func viewDidLoad() {
super.viewDidLoad()
// this code runs when the view loads
}
func loadItems() {
// item loading code here
}
}
关于swift - 初始化程序只能在类型/编码器中声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41213962/