2016-07-01 15 views
0

ich bin neu für iOS-Entwicklung. Ich möchte eine Anwendung erstellen, die Tabellenansichten von meinem Array zeigt. Ich halte JSON-Daten in einer TXT-Datei auf meinem Server. Ich möchte sie über Alamofire erhalten und meine Tableviewcells füllen. Derzeit kann ich es tun. Es gibt viele Führer darüber. Aber ich möchte eine neue Tabelle erstellen, wenn ich auf diese Zelle klicke. Nehmen wir zum Beispiel an, dass das meine Json-Daten sind;Swift Erstellen von tableView Von JSON

{ 
"fruits": [ 
    { 
     "Vitamin": "Vitamin C", 
     "Name": "Apple", 
    } 
    { 
     "Vitamin": "Vitamin B", 
     "Name": "Banana", 
    }  { 
     "Vitamin": "Vitamin D", 
     "Name": "Watermelon", 
    }  { 
     "Vitamin": "Vitamin C", 
     "Name": "Orange", 
    } 
    { 
     "Vitamin": "Vitamin C", 
     "Name": "Mandarin", 
    } 
] } 

Und mit diesen json Daten i 3 tableviewcells erstellen, wollen das Vitamin C ist, Vitamin B und Vitamin D. Wenn ich Vitamin C Zelle erschließen mag ich will neuen Tableview sehen, den Apfel, Orange hält, Mandarin.

Also was soll ich dafür tun? Ich denke, bei Storyboard muss ich mehrere Controller und mehrere schnelle Dateien für diese erstellen? Sollte ich die JSON-Daten analysieren und sie in verschiedene Arrays einfügen? Ich bin offen für alle Vorschläge oder Anleitungen, die ich vermisst habe. Vielen Dank für Ihre Zeit

Antwort

0

ich ein Objekt schaffen würde, und erstellen Sie, wenn Sie Ihre JSON mit Alamofire (verwenden Sie eine Bibliothek wie SwiftyJSON zu leicht Werte von Ihrem JSON zu erhalten) lesen

Aber Sie sollten Ihre json ein ändern wenig, wie:

"fruits": [ 
{ 
    "Vitamin": "Vitamin C", 
    "Fruits": ["Apple", "Orange", "Mandarin"] 
} 

So Vitamin C Ihr "Schlüssel" und "Apple", "orange" und "Mandarin" sind Sie Array-Werte.

Nun sollten Sie ein Objekt erstellen, wie:

class fruits { 
    var vitamin: String! 
    var inFruits: [String]! 
} 

Jetzt können Sie einige Obst Objekte hinzufügen, wenn Sie Ihre Werte von Ihrem JSON erhalten. An Ihrem ersten Tableviewcontroller, zeigen nur die Werte aus Früchten, wenn Sie das tun:

didSelectRowAtIndexPath 

Sie die Infruits String Array zum nächsten Viewcontroller übergeben sollte, wie hier gezeigt:

Sending data with Segue with Swift

+0

So sagen Sie Ich sollte das in meiner Datei machen. Ich sammle diese Daten von einem HTML-Post. Ich werde versuchen, es in PHP zu tun. –