Ste*_*her 4 arrays multidimensional-array swift
我有一个JSON响应,我必须解析它的答案.我将单个元素写入一个名为courseDataArraya 的数组中for loop.之后,我想将这个新创建的数组写入另一个调用combinedCourseArray的数组中,目的是将其传递给a 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)
}
Run Code Online (Sandbox Code Playgroud)
您应该将combinedCourseArray声明移到数组之外.它应该是var combinedCourseArray: [[String: AnyObject]] = [[:]]因为它是一个数组而不是字典.
你应该这样做
combinedCourseArray.append(courseDataArray)
Run Code Online (Sandbox Code Playgroud)
代替
combinedCourseArray[0] = courseDataArray
Run Code Online (Sandbox Code Playgroud)
var FirstArray = [String]()
var SecondArray = [String:AnyObject]()
FirstArray.append(contentsOf: SecondArray.value(forKey: "key") as! [String])
Run Code Online (Sandbox Code Playgroud)