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でこのクラスを使用していましたが、うまくいきました。しかし、私は次のコンパイラエラーを取得していますスウィフト3で使用しませんでした:スイフトのInitメソッド3
初期化子が「スーパー」のメンバーが、ルートクラス
で参照することはできませんその スーパークラスから指定イニシャライザをオーバーライドしない
どうすれば修正できますか?
を行うだろうこれは、「シングルトン」を作る時代遅れの方法です。以下のような好きな方法に従ってください:http://stackoverflow.com/a/36012158/2227743 – Moritz
問題について:あなたのクラスは何からも継承されないので、なぜスーパーに電話しますか?それは必要ではありません。 – Moritz
シングルトンクラスにしたいですか?はいの場合、 "init"はプライベートでなければなりません。また、より良い方法があります。 –