快速创建带有for循环的字典

时间:2018-08-28 09:39:30

标签: ios arrays swift dictionary

我只想在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 的所有值

3 个答案:

答案 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)`