2016-08-12 6 views
-1

Was ich will, ist, ich habe fünf Tasten, und ich habe zum Abrufen der fünf Bilder (1,2,3,4,5) in json, danach, wenn ich das Tippen auf den ersten Knopf bedeutet dann die Bilder in 1,2,3,4,5 Reihenfolge anzeigen, nach der Auswahl der zweiten Taste bedeutet, dann zeigen Sie die Bilder nach 2,3,4,5,1 Reihenfolge, nach der Auswahl der dritten Taste bedeutet dann zeigen Sie die Bilder nach 3,4,5,1,2 Reihenfolge, nach der Auswahl der vierten Schaltfläche bedeutet dann die Bilder nach 4,5,1,2,3 Reihenfolge, nach der Auswahl der fünften Schaltfläche bedeutet dann zeigen Sie die Bilder durch 5 , 1,2,3,4 Bestellung, das ist alles über meine Frage, könnten Sie bitte führen Sie mich zu dieser Operation, jede Lösung für diese sehr geschätzt, danke.während die Taste tippen

+0

was macht Ihre JSON Struktur aussehen gezeigt? – ldindu

+0

CODE: [{ „image1" :„www.image1.com“ \t„id ": 1, \t }, { \t„image2" : „www.image2.com“ \t „id": 2, }, { „image3" :‚www.image3.com‘ \t„id ": 3, \t }, { \t„image4" : „www.image4.com " \t" ID ": 4, }, { \t „image5" :„www.image5.com“, \t‚id‘: 5, }] –

Antwort

0

Sie benötigen eine Taste zu markieren, zu erkennen, welche Taste gedrückt wurde und Aktion in Ihrer jeweiligen, müssen Sie den Tag rufen Sie die Taste zu identifizieren, die angezapft wurde. Ich werde Ihnen nicht beschreiben, wie Sie Ihre Schaltfläche markieren, da Sie die Antwort vom Stapelüberlauf bekommen können. Aber für dieses Beispiel, ich bin direkt in Bildern speichern, können Sie die Antwort von JSON zu entsprechenden Array abrufen und konvertieren.

var images: [[String: AnyObject]] = [ 
     [ "image1" : "www.image1.com", "id" : 1 ], 
     [ "image2" : "www.image2.com", "id" : 2 ], 
     [ "image4": "www.image4.com", "id" : 4 ], 
     [ "image3": "www.image3.com", "id" : 3 ], 
     [ "image5": "www.image5.com", "id" : 5 ]] 

Sie müssen das Array sortieren, wenn Sie es aus dem JSON wie folgt erhalten haben:

images.sort {($0["id"] as? Int) < ($1["id"] as? Int)} 

Sobald Sie Array sortiert haben, können Sie die Funktionalität implementieren, um die Anordnung von Bild abzurufen basierend auf Ihre Anforderung wie folgt:

func imagesForButtonIndex(_ buttonIndex: Int) -> [[String: AnyObject]] { 
    var sortedImages = images.filter { ($0["id"] as? Int) >= buttonIndex} 
    sortedImages.append(contentsOf:images.filter {($0["id"] as? Int) < buttonIndex}) 
    return sortedImages 
} 

imagesForButtonIndex(5) 
Aufruf

werden Sie Bilder wie pro Anforderungen abrufen, wie unten

enter image description here

+0

hallo idindu, ich nur objektiv c wissen, aber in swift einige Codes verstehen nur die Dinge noch nicht können verstehe für mich, also könntest du das bitte erklären, ich muss lernen –

Verwandte Themen