Arrays 将数组更改回dictionary-SWIFT

Arrays 将数组更改回dictionary-SWIFT,arrays,swift,dictionary,Arrays,Swift,Dictionary,我有一个for循环,它创建一个字典,然后将字典附加到一个数组中。我将字典附加到数组中,因为我不知道如何使用同一个键添加多个值,当我在for循环中这样做时,只会更新键/值对,并删除旧的键/值对。将数组更改回字典的最佳方法是什么 import UIKit class ViewController: UIViewController { var jobTitle = "" var jobDescription = "" var dict:[String: AnyObj

我有一个for循环,它创建一个字典,然后将字典附加到一个数组中。我将字典附加到数组中,因为我不知道如何使用同一个键添加多个值,当我在for循环中这样做时,只会更新键/值对,并删除旧的键/值对。将数组更改回字典的最佳方法是什么

import UIKit

class ViewController: UIViewController {


    var jobTitle = ""
    var jobDescription = ""


    var dict:[String: AnyObject] = ["jobTitle": "jobTitle", "jobDescription": "jobDescription"]

    var tArray = [[String: AnyObject]]()




    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

         for var i = 0; i < 3; ++i {

            jobTitle = "job1"
            jobDescription = "Desc1"

            dict["jobTitle"] = "job1"
            dict["jobDescription"] = "Desc1"

            tArray.append(dict)

               }


        println("\(tArray)")

}


}

你把同样的任务称为

jobTitle = "job1"
在循环的每次迭代中。当然,变量将始终包含相同的值。dict也是如此。它是一个ivar,所以你一直在覆盖它

您需要创建一个类型为[String:AnyObject]的新集合以添加到数组中

let newDict:[String : AnyObject] = [titleKey : titleText, 
                                    descriptionKey : descriptionText]
tArray.append(newDict)

与此类似,如果您有多个与每个键关联的值:

let jobnames = ["j1", "j2", "j3"]
let jobdescs = ["d1", "d2", "d3"]

var dict : [String:[String]] = [:]

for index in 0..<3 {
  if nil == dict["jobTitle"] { dict["jobTitle"] = [] }
  if nil == dict["jobDesc" ] { dict["jobDesc" ] = [] }

  dict["jobTitle"]!.append(jobnames[index])
  dict["jobDesc" ]!.append(jobdescs[index])
}
以下是输出:


你能举个例子说明你期望得到什么样的输出数据吗?