如何在Swift的另一个数组中追加一个数组?

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)

Wye*_*tro 5

您应该将combinedCourseArray声明移到数组之外.它应该是var combinedCourseArray: [[String: AnyObject]] = [[:]]因为它是一个数组而不是字典.

你应该这样做

combinedCourseArray.append(courseDataArray)
Run Code Online (Sandbox Code Playgroud)

代替

combinedCourseArray[0] = courseDataArray
Run Code Online (Sandbox Code Playgroud)


Sha*_*med 5

var FirstArray = [String]()
var SecondArray = [String:AnyObject]()

FirstArray.append(contentsOf: SecondArray.value(forKey: "key") as! [String])
Run Code Online (Sandbox Code Playgroud)