【发布时间】:2016-07-27 15:59:23
【问题描述】:
我有一个 JSON 响应,我必须解析它的答案。我使用for loop 将单个元素写入一个名为courseDataArray 的数组中。之后,我想将这个新创建的数组写入另一个名为combinedCourseArray 的数组,目的是将其传递给UITableView。创建第一个数组似乎工作正常。
但是如何创建另一个数组combinedCourseArray,其中包含所有courseDataArray 类型的数组?
for (index, element) in result.enumerate() {
// get one entry from the result array
if let courseEntry = result[index] as? [String:AnyObject]{
//work with the content of the array
let courseName = courseEntry["name"]
let courseType = courseEntry["course_type"]
let courseDate = courseEntry["cor_date"]
let courseId = courseEntry["cor_id"]
let duration = courseEntry["duration"]
let schoolId = courseEntry["sco_id"]
let status = courseEntry["status"]
let courseDataArray = ["courseName" : courseName, "courseType": courseType, "courseDate": courseDate, "courseId": courseId, "duration": duration, "schoolId":schoolId, "status":status]
print(courseDataArray)
var combinedCourseArray: [String: AnyObject] = [:]
combinedCourseArray[0] = courseDataArray //does not work -- error: cannot subscript a value of type...
// self.shareData.courseStore.append(scooter)
}
【问题讨论】:
-
combinedArray应该是[[String: AnyObject]]类型,因为它是Array<[String:AnyObject]>。使用var combinedCourseArray: [[String: AnyObject]] = [[:]] -
[String: AnyObject]是字典而不是数组 -
谢谢。这就是问题所在。我必须添加?在 AnyObject: var combinedCourseArray: [[String: AnyObject?]] = [[:]] 之后
-
顺便说一句,
courseDataArray实际上是Dictionary而不是Array
标签: arrays swift multidimensional-array