ich lerne schnell atm und die Verwendung von Klassen hielt mich die letzten zwei Wochen beschäftigt.Probleme mit Werten von Klasse
danke für jede Hilfe
für ein Projekt in Xcode i eine schnelle Datei erstellt eine Klasse enthält, die leeren Strings/Arrays aus Strings initialisiert. Dann ruft eine Funktion in dieser Klasse Daten von Google Firebase ab, um diese Zeichenfolgen zu füllen.
als in einer Viewcontroller-Klasse möchte diese zwei Zeichenfolgen abrufen. Wie macht es das richtig? bis jetzt habe ich viele verschiedene Ideen ausprobiert, aber ich bekomme entweder leere Strings (wie am Anfang der Klasse initialisiert) oder ich bekomme Fehler
idealerweise jedes Mal, wenn die viewdidload() (in diesem Fall) der Viewcontroller-Klasse i heißt möchte, dass eine Instanz der Klasse mit aktuellen Daten erstellt wird.
class RetrieveDatabase {
//static let sharedInstance = RetrieveDatabase()
var allMessages = [[String]]()
var messages = [String]()
var categorieNames = [String]()
func loadGoogleValue() -> (allMessages: [[String]], categorieNames: [String]) {
//this function works, the arrays contain type [string] and string
return (self.allMessages, self.categorieNames)
}
/*
-> i tried initializers in so many variations...
init(allMessages: [[String]], categorieNames: [String]) {
self.allMessages = loadGoogleValue().allMessages
self.categorieNames = loadGoogleValue().categorieNames
messages = []
}
*/
}
hier der Code aus der Viewcontroller Klasse:
class SettingsView: UIViewController {
let retrieveDatabase = RetrieveDatabase.//tried everything here, only errors
override func viewDidLoad() {
super.viewDidLoad()
label1.text = retrieveDatabase.categorieNames[0]
}
}
cmon guys? jemand? – felixmp
Warum deklarieren Sie 'retrieveDatabase' Variable nicht so? 'Lassen Sie retrieveDatabase = RetrieveDatabase()' –
danke für Ihre Antwort, die Zeichenfolgen sind immer noch beide leer, wenn sie aufgerufen werden ... – felixmp