Generalmente creo una classe separata se ho funzioni che verranno utilizzate da più classi, in particolare per quelle che riguardano le operazioni di rete.
Se v'è solo funzioni distinte che verranno utilizzati, si può semplicemente creare funzioni statiche all'interno di quella classe ed è quindi facilmente raggiungibile in altre classi in modo statico:
class DataController {
static func getData() -> [String:String] {
// do some operations
return ["someData" : "someData"]
}
}
let data = DataController.getData() // example
Tuttavia, ciò che spesso è stato il caso per me (specialmente se comporta operazioni più complicate) era che queste operazioni di rete dovevano stabilire in anticipo una connessione iniziale o richiedere alcune impostazioni iniziali, e anche eseguire operazioni asincrone che dovevano essere controllate. Se questo è il caso e spesso chiamerai questi metodi, potresti voler creare un oggetto singleton che potresti usare in diverse classi e funzioni. In questo modo, è possibile eseguire la configurazione iniziale o stabilire una connessione iniziale una sola volta, quindi eseguire il resto secondo le necessità con le altre funzioni, invece di eseguirle ogni volta che viene chiamata la funzione.
Creazione di un oggetto Singleton è piuttosto semplice a 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
Per il nome della classe, di solito il nome è qualcosa come DataController
o DataHelper
, ma tutto ciò che ha senso come classe "aiuto" sarebbe lavoro.
Spero che questo aiuti :)
Creare un file swift separato e inserire tutte le funzioni in questo. Puoi usarlo per tutto il codice. – Kapil