2016-07-03 5 views
0

Ich habe ein paar View-Controller, die die gleichen Funktionen immer wieder enthält. Ist es möglich, eine neue Datei eines bestimmten Typs zu erstellen, in die ich diese Funktionen einfügen und von meinem View Controller aus aufrufen kann? Auf diese Weise habe ich keinen doppelten Code.So erstellen Sie eine Master-Funktion in 1 Datei, die ich für verschiedene View-Controller in Swift aufrufen kann

Lassen Sie sich sagen, dass dies meine Funktion ist, dass ich auf ein paar anderen Ansicht-Controller verwenden auch:

func StartUpEveryLevel() { 
    AllCards.removeAll() 
    scoreText.text = String(score) 
} 

Wie kann ich dies in einer neuen Datei, und rufen Sie es auf und zu, dass stopfen bestimmte Ansicht Controller?

Thx!

+0

Dies ist eine sehr weit gefasste Frage und nicht der Typ für Stackoverflow, aber hier ist ein Link, ein wenig über 'Object Oriented Programming' https://www.raywenderlich.com/81952/intro-object- zu lernen oriented-design-swift-part-1 – sbarow

Antwort

0

Sie können Protokolle und Erweiterungen verwenden.

Erstellen Sie eine neue Swift-Datei StartProtocol.swift mit dem folgenden Inhalt.

protocol StartProtocol { } 

extension StartProtocol { 
    func startUpEveryLevel() { 
     // your logic goes here 
    } 
} 

Jetzt öffnen wir alle Ihre ViewControllers. Sie müssen sie nur an StartProtocol anpassen, um die startUpEveryLevel Methode zu erhalten.

class ViewController: UIViewController, StartProtocol { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     startUpEveryLevel() 
    } 
} 
+0

Wow! Das ist, was ich gesucht habe :) Außer ich kann IBOutlets hier nicht benutzen ... – Nahaku

Verwandte Themen