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方面有很多改进)时,所有功能都按预期工作。