如何将JSON数据拆分成两个不同的数组?

3

目前我们有一个包含JSON对象所有内容的数组:

  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对象的结果分成两个数组,前5个将放入第一个数组,其余的将放入第二个数组:
var first5CastArrayObjects: [CastData]
var theRestofTheCastArrayObjects: [CastData] 

如何最好地完成这个任务?

1个回答

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

应该进行范围检查以确保数组至少有6个值,否则此代码将崩溃。 - rmaddy
正如rmaddy所说,你需要像这样的代码:if castArray.count >= 5 { do this code} else print("array too small") return - mfaani
我尝试了这个代码:if castArray.count >= 5 { let first5CastArrayObjects = castArray[0...4] self.first5CastArray.append(first5CastArrayObjects) }但是它抛出了错误:无法将类型为“ArraySlice<CastData>”的值转换为预期的参数类型“CastData”。 - SwiftyJD
如果您想将新数组附加到现有数组,请尝试使用self.first5CastArray += first5CastArrayObjects。 - Marco Santarossa
@SwiftyJD 请查看 https://dev59.com/_1sW5IYBdhLWcg3wZWfj#35028887 - Marco Santarossa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接