2017-02-26 3 views
3

Zur Zeit haben wir eine Reihe, die alle den Inhalt des JSON-Objekt enthält:Wie teilt man Json-Daten in 2 verschiedene Arrays auf?

var castArray: [CastData] = [] 

    CastData.updateAllData(urlExtension: "\(movieID)/credits", completionHandler: { results in 

     guard let results = results else { 
     print("There was an error retrieving upcoming movie data") 
     return 
     } 
     self.castArray = results 
}) 

Ich versuche, die Ergebnisse des JSON-Objekt in zwei Reihen aufgeteilt, die ersten 5 in die erste Reihe gehen, der Rest wird in das zweite Array gehen:

var first5CastArrayObjects: [CastData] 
var theRestofTheCastArrayObjects: [CastData] 

Was ist der beste Weg, dies zu tun wäre?

Antwort

4
if castArray.count > 5 { 
    let first5CastArrayObjects = castArray[0...4] 
    var theRestofTheCastArrayObjects = castArray [5...castArray.count - 1] 
} else { 
    //Manage exception 
} 
+0

Es sollte eine Bereichsüberprüfung erfolgen, um sicherzustellen, dass das Array mindestens 6 Werte enthält oder dieser Code abstürzt. – rmaddy

+0

wie rmaddy gesagt hat, benötigen Sie etwas wie 'if castArray.count> = 5 {diesen Code tun} else print ("Array zu klein") return' – Honey

+0

Ich habe es versucht: if castArray.count> = 5 { let first5CastArrayObjects = castArray [0 ... 4] self.first5CastArray.append (first5CastArrayObjects) } aber den Fehler werfen: Kann nicht Wert vom Typ umwandeln 'ArraySlice ' zu erwarteten Argumenttyp 'CastData' – SwiftyJD

Verwandte Themen