声明一个字典数组,其中每个键的值是另一个数组(Swift)

时间:2017-10-12 17:15:58

标签: arrays swift dictionary for-loop

我在这里看了几个不同的帖子,我似乎无法得到我特别想要做的工作。我正在尝试声明一个空数组的字典。问题是每次我尝试迭代数组中的每个字典(没有运行)我得到一个错误基本上说我设置数组的方式是不正确的。这段代码在我的幻灯片删除功能中,因此如果没有用户首先填充dicts数组,它就无法运行。这是我的代码。

{{1}}

2 个答案:

答案 0 :(得分:1)

你有几件事情在这里发生。

您已使用泛型将$LatestFile = Get-ChildItem C:\Users\Connor\Desktop\ | Sort CreationTime | Select -Last 1 if ($LatestFile.CreationTime -gt (Get-Date).AddHours(-1)){ #It's Currently Working } else { #Do Other Stuff } 正确声明为一组字典。那很酷。

您的问题是:

1)leagueList正在寻找数组中的键。数组没有键,所以你会在那里得到一个错误。

2)self.leagueList.removeValue(forKey: deletedAge!)似乎假设词典中只有一个键。虽然dict.key正确是一个字典,但Swift认为它有多个键。所以,如果你想迭代它们(即使只有一个存在),你必须改为使用dict

如果您只想删除dict.keys数组中每个字典的deletedAge键值,则可以通过以下方式轻松完成:

leagueList

答案 1 :(得分:0)

看起来您正在尝试搜索字典数组并从每个字典中删除特定的密钥。要做到这一点,你需要使用二维循环:

for var dict in leagueList {
    for key in dict.keys {
        if key == "someKey" {
            dict.removeValue(forKey: key)
        }
    }
}