2017-02-26 233 views
3

目前我们已经包含了JSON对象的所有内容数组:如何将json数据拆分为2个不同的数组?

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 
}) 

我试图JSON对象的结果分成2列,第5将进入第一阵列,其余的将进入第二阵列:

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

这样做的最好方法是什么?

回答

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

应该有一个范围检查,以确保数组至少有6个值或此代码将崩溃。 – rmaddy

+0

作为rmaddy说过,你需要像'如果castArray.count> = 5 {做这个代码}别的东西打印(“数组太小”)返回' – Honey

+0

我想这样:如果castArray.count> = 5 { 让first5CastArrayObjects = castArray [0 ... 4] self.first5CastArray.append(first5CastArrayObjects) }但它抛出错误:无法将类型'ArraySlice '的值转换为期望的参数类型'CastData' – SwiftyJD