Ich erstelle normalerweise eine separate Klasse, wenn ich Funktionen habe, die von mehreren Klassen verwendet werden, insbesondere für diejenigen, die Netzwerkoperationen beinhalten.
Wenn Sie nur getrennte Funktionen haben, die verwendet werden, können Sie einfach statische Funktionen innerhalb dieser Klasse schaffen, so dass es leicht mit anderen Klassen in einer statischen Weise:
class DataController {
static func getData() -> [String:String] {
// do some operations
return ["someData" : "someData"]
}
}
let data = DataController.getData() // example
jedoch bisher oft Der Fall für mich (besonders wenn es kompliziertere Operationen betrifft) war, dass diese Netzwerkoperationen im Voraus eine erste Verbindung herstellen mussten oder einige initiale Setups erforderten, und sie führten auch asynchrone Operationen durch, die kontrolliert werden mussten. Wenn dies der Fall ist und Sie häufig solche Methoden aufrufen, möchten Sie möglicherweise ein Singleton-Objekt erstellen, das Sie in verschiedenen Klassen und Funktionen verwenden können. Auf diese Weise können Sie die Ersteinrichtung vornehmen oder nur einmal eine erste Verbindung herstellen und dann den Rest bei Bedarf mit den anderen Funktionen ausführen, anstatt sie bei jedem Aufruf der Funktion auszuführen.
ein Singleton-Objekt zu erstellen ist recht einfach in Swift:
class DataController {
static let sharedInstance = DataController() // singleton object
init() {
// do initial setup or establish an initial connection
}
func getData() -> [String:String] {
// do some operations
return ["someData" : "someData"]
}
}
let data = DataController.sharedInstance.getData() // example
Für den Namen der Klasse, ich nenne es in der Regel so etwas wie DataController
oder DataHelper
, aber alles, was Sinn als „Helfer“ Klasse macht würde Arbeit.
this helps :)
Erstellen Sie eine separate swift-Datei, und fügen Sie alle diese Funktionen hinzu. Sie können das im gesamten Code verwenden. – Kapil