Hallo zusammen,
ein neuer Tag ein neues Problem und ich hoffe ihr könnt mir hier eine kleine Denkstütze geben.
Folgende Situation
ich habe eine MySQL Datenbank und eine PHP-API. Über die API bekomme ich Werte im JSON-Format an meine IOS-APP geliefert. Diese Werte möchte ich nun weiterverarbeiten.
Ich habe ein Tableview und möchte die Daten dort in einzelnen Cells anzeigen lassen.
Dafür wurde nun ein struct angelegt:
dann habe ich eine Methode, die die JSON Daten holt und eigentlich das struct füllen soll.
Alles anzeigen
Nun habe ich die Daten in einem Array und möchte diese in struct schreiben.
Das ganze mache ich ja mit
Also dachte ich mir alles klar ich bau eine For Schleife und gehe das Array durch. Bei jedem Durchlauf speichere ich dann die Daten in struct.
Alles anzeigen
Nun wird natürlich die newData Variable immer wieder überschrieben und ich bekomme einen Fehler "Use of unresolved identifier newData"
Das Überschreiben der Variable kann ich durch den Counter korrigieren, aber dieser Fehler ist mir nicht ganz klar. Bei Google gibt es reichlich Lösungsansätze, allerdings beziehen die sich immer auf eine Klasse nicht auf eine Variable.
Ich ging nun davon aus das die Variable "newData" die in der For-Schleife erstellt wird schlichtweg nicht gefunden wird. Das würde aber bedeuten das XCode die For-Schleife nicht erst durchläuft, bis es im Script weiter geht. Ehrlich gesagt kann ich mir das nicht vorstellen.
Hat jemand eine Idee woran es liegen kann? Wo liegt mein Denkfehler bzw. bin ich total auf dem Holzweg und es geht viel einfacher?
Danke euch
ein neuer Tag ein neues Problem und ich hoffe ihr könnt mir hier eine kleine Denkstütze geben.
Folgende Situation
ich habe eine MySQL Datenbank und eine PHP-API. Über die API bekomme ich Werte im JSON-Format an meine IOS-APP geliefert. Diese Werte möchte ich nun weiterverarbeiten.
Ich habe ein Tableview und möchte die Daten dort in einzelnen Cells anzeigen lassen.
Dafür wurde nun ein struct angelegt:
dann habe ich eine Methode, die die JSON Daten holt und eigentlich das struct füllen soll.
Quellcode
- func initializeData() {
- func getJSONData(postparam: String) -> String{
- // hole Daten von der API
- // return String
- }
- func JSONParseArray(jsonString: String) -> [AnyObject] {
- // Parse den JSON-Datenstring
- // return Array
- }
- func work() -> [AnyObject]{
- // Hole die MySQL Daten
- let getData = getJSONData("action=getData")
- // Lege das Hauptarray an
- var DataArray:[AnyObject] = []
- // Parse den JSON-Datenstring
- for elem: AnyObject in JSONParseArray(getData) {
- let id = elem["id"] as String
- let name = elem["name"] as String
- let description = elem["description"] as String
- // pro MySQL Eintrag ein neuen Array
- var DataArrayIn:[String] = []
- // Neues Array füllen
- DataArrayIn.append(id)
- DataArrayIn.append(name)
- DataArrayIn.append(description)
- // Neues Array in Hauptarray fügen
- DataArray.append(DataArrayIn)
- }
- //Hauptarray (multidimensionales Array)
- return DataArray
- }
- }
Nun habe ich die Daten in einem Array und möchte diese in struct schreiben.
Das ganze mache ich ja mit
Also dachte ich mir alles klar ich bau eine For Schleife und gehe das Array durch. Bei jedem Durchlauf speichere ich dann die Daten in struct.
Quellcode
Nun wird natürlich die newData Variable immer wieder überschrieben und ich bekomme einen Fehler "Use of unresolved identifier newData"
Das Überschreiben der Variable kann ich durch den Counter korrigieren, aber dieser Fehler ist mir nicht ganz klar. Bei Google gibt es reichlich Lösungsansätze, allerdings beziehen die sich immer auf eine Klasse nicht auf eine Variable.
Ich ging nun davon aus das die Variable "newData" die in der For-Schleife erstellt wird schlichtweg nicht gefunden wird. Das würde aber bedeuten das XCode die For-Schleife nicht erst durchläuft, bis es im Script weiter geht. Ehrlich gesagt kann ich mir das nicht vorstellen.
Hat jemand eine Idee woran es liegen kann? Wo liegt mein Denkfehler bzw. bin ich total auf dem Holzweg und es geht viel einfacher?
Danke euch