我有一个快速字典,我正在尝试访问我的数组中的值。
我制作的字典看起来像这样:
["results": {
Democrats = {
percent = 67;
raw = 4;
};
Republicans = {
percent = 33;
raw = 2;
};
"total_answers" = 6;
}, "success": 1]
我制作了另一本词典来获得这个:
let test = dictionary["results"] as! [String : AnyObject]
["Democrats": {
percent = 67;
raw = 4;
}, "Republicans": {
percent = 33;
raw = 2;
}, "total_answers": 6]
我可以访问以下值:
let testing = test["total_answers"]
我想访问百分比和原始值,例如:
Democrats = {
percent = 67;
raw = 4;
};
百分比和原始密钥是静态的,但民主党是一个永远不会相同的字符串。
答案 0 :(得分:1)
我不知道你在字典中使用的符号,但它并没有在Swift中编译。
使用[String:Any]作为类型的字典可以工作,但操纵数据将成为类型转换的噩梦。您应该考虑使用常规结构,其中所有值都具有相同的类型。
例如(使用两个值元组的类型):
typealias Votes = (percent:Int, raw:Int)
var results = [ "Democrats" : Votes(percent:67, raw:4),
"Repubicans" : Votes(percent:33, raw:2),
"Totals" : Votes(percent:100, raw:6)
]
let democratVotes = results["Democrats"]!.raw
答案 1 :(得分:0)
所以这里let democrats:[String : Int] = test["Democrats"] as! [String : Int]
将为您提供新词典,仅包含
Democrats = {
percent = 67;
raw = 4;
};