【发布时间】:2016-11-22 18:17:13
【问题描述】:
class MissionControl {
var nameField=""
var surnameField=""
var phoneField=""
var tcIdField=""
var photoField=""
class var sharedInstance: MissionControl {
struct Singleton { static let instance = MissionControl() }
return Singleton.instance
}
override init() {
super.init()
}
}
我在 Swift 2.3 中使用这个类,它运行良好。但我无法与 Swift 3 一起使用。我收到以下编译器错误:
Initializer 不会覆盖其指定的初始化程序 超类
'super' 成员不能在根类中被引用
我该如何解决?
【问题讨论】:
-
这是一种过时的制作“单例”的方法。请按照这里的首选方式:stackoverflow.com/a/36012158/2227743
-
关于你的问题:你的类没有继承任何东西,那么你为什么要调用 super?不需要。
-
你想让它成为一个单例类吗?如果是,“init”应该是私有的,还有更好的方法。