我只想在for循环的帮助下创建字典 示例代码:
var counter: Int = 1;
var pageCountDict = [String:Any]();
for filterCount in counter..<6
{
if let count = "page_\(filterCount)_vtime" as? String
{
pageCountDict = [count: timeInterval_Int];
}
}
print(pageCountDict);
此打印命令只给我最后一个forloop值
我只希望字典中该变量 pageCountDict 的所有值
答案 0 :(得分:1)
分配给字典的方法是首先使用subscript并为其分配值:
pageCountDict[YourKey] = YourValue
此外,您可以在Apple documentation中看到许多有关字典的示例和说明。
答案 1 :(得分:0)
对于每个循环,您都将字典替换为仅包含一个元素的字典。您想做的是这样:
pageCountDict[count] = timeInterval_Int
此外,您不需要as? String
部分。这应该足够了:
for filterCount in counter..<6
{
pageCountDict[count] = "page_\(filterCount)_vtime"
}
答案 2 :(得分:0)
var pageCountDict = [String:Any]()
您可以通过合并以前的内容和新数据来向此字典添加值,如下所示...
let counter: Int = 1
var pageCountDict = [String:Any]()
for filterCount in counter..<6
{
let value = 9
let count = "page_\(filterCount)_vtime" //'if' is not needed as it is always true
pageCountDict.merge([count: timeInterval_Int], uniquingKeysWith:{ (key, value) -> Any in
//assign value for similar key
timeInterval_Int
})
}
print(pageCountDict)`