0
我在教導自己Swift這些天,並且無法理解如何更新存儲在數組中的字典中的值。該數組由使用JSON從文件讀取的字典組成(我正在使用SwiftyJSON)。 JSON文件看起來是這樣的:使用Swift更新字典數組中的值
{
"test2" : [
{
"files" : "203",
"url" : "Optional(\"\/Users\/heisan\/test\/\")",
"date" : "April 6, 2015 at 15:23:40 EDT"
}
]
}
每個鍵:值對詞典中包含字符串:數組,其中數組再次由字符串:字符串字典。我的用於更新特定密鑰對內容函數看起來像這樣:
@objc func addOptionForKey(key: String, date: NSDate, url: NSURL, files: NSNumber)-> Bool {
let dictData: NSData? = self.createDataOfDictionary()
if (dictData != nil) {
let json = JSON(data: dictData!)
for (localkey: String, var subJson: JSON) in json {
var backups: Array = [Dictionary<String,AnyObject>]()
var restores = subJson.arrayValue
for restore in restores {
let innerDict: [String:String] = ["url":restore["url"].stringValue,
"files":restore["files"].stringValue,
"date":restore["date"].stringValue]
backups.append(innerDict)
}
self.restoreDict[localkey]=backups
}
return true
}
在此,所述restoreDict屬性被定義爲
self.restoreDict =字符串:[AnyObject]
當我嘗試更新我的陣列的特定鍵時,該函數崩潰:
self.restoreDict [l ocalkey] =備份
我確定我在這裏做了一些業餘的錯誤,但在正確的方向踢一個非常感謝。謝謝。 T
更新:我的問題竟然與我的Xcode和Swift版本有關。當我切換到Xcode 6.3 + Swift 1.2以及使用swiftJSON(因爲Swift 1.2在處理JSON方面有很多改進)時,所有功能都按預期工作。