[英]Change array back to dictionary - SWIFT
我有一個用於創建字典的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])
}
這是輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.