Erstellen singleton von einem viewcontroller in swift 3

Ich weiß, wie man singleton-Klasse in swift. Die beste und einfache Möglichkeit zum erstellen von singleton-Klassen ist die folgende:

class Singleton {
    static let sharedInstance = Singleton()
}

Aber ich brauche nicht singleton für jeden normalen Klasse. Ich brauche erstellen singleton für einen viewcontroller-Klasse. Also ich bin mit diesem code erstellen singleton

class AViewController:UIViewController {

    static let sharedInstance = AViewController()

    required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

}

es gibt mir Fehler in der Nähe der AViewController()

Missing argument for parameter 'coder' in call

Wie es aussieht, wollen mich zu initialisieren mit init(coder: NSCoder). Aber was für parameter oder Wert sollte ich den pass durch die coder?

  • haben Sie überprüft, mit class Singleton : NSObject diese?
  • Warum hast du dann nicht den problematischen code in deiner Frage?
  • required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) }
  • 'öffentlichen init?(coder aDecoder: NSCoder){ super.init(coder: aDecoder) }' Fügen Sie diese in Ihrem code
  • Bitte sehen Sie meine aktuelle Frage.
  • Ich bereits umgesetzt.
  • Verwenden Sie storyboard?
  • View-Controller sind in der Regel nicht gute Kandidaten für singletons. Wenn Sie wirklich wollen, dies zu tun, würden wir wahrscheinlich mehr wissen müssen, wie der view-Hierarchie für diese view-controller erstellt wird (eine Szene in einem storyboard? NIB? programmatisch erstellt?). Aber, wenn Sie interessiert sind, möchten Sie vielleicht, um zu erklären, warum Sie verwenden möchten, ein singleton, und wir könnten in der Lage sein, um Ihnen eine bessere Muster.
  • Ja. Der viewcontroller im storyboard.
  • 1) Warum möchten Sie ein singleton-view-controller? 2) poste Bitte mehr relevanten code. Haben Sie init Methoden? Zumindest zeigen die Signaturen.
  • Ich möchte an dieser viewcontroller als ein sidepanel. Und ja, die viewcontroller im storyboard. Die ich erstellt habe, singleton für viewcontroller in Objective C. Jetzt möchte ich es konvertieren zu swift.
  • Ich habe eine init Methode. Finden Sie die aktualisierte Frage.
  • Wenn Sie bereits umgesetzt required init Methode, warum sind Sie dann fragt, welche parameter oder Wert sollte ich den pass durch die Programmierer?
  • Weil ich umgesetzt init? (coder aDecoder: NSCoder) und diese wollen mir zu übergeben Programmierer Wert.
  • Und diese Seitenwand sich, hat seine eigene Szene im storyboard? Und nur weil dieses ist ein side-panel, das nicht darauf hindeuten, dass ein singleton ist ein gutes Muster, auch wenn das, was Sie Taten, bevor...
  • Mögliche Duplikate von Mit dem Swift Singleton
  • Dein link erklärt nicht, Sie zu erstellen singleton aus viewcontroller. Entfernen Sie doppelte Flagge aus meine Frage.

InformationsquelleAutor Poles | 2016-12-14
Schreibe einen Kommentar