无法重复字典数组,因为它说“键入'Any'的值没有下标”

时间:2019-08-19 12:22:36

标签: arrays swift nsdictionary

我想迭代字典数组,但是它给出了“ Any类型的值没有下标”的错误。我刚刚按照link

中的答案进行操作

这是调试模式下的字典数组: ScreenShotOfArray

这是我要尝试的方法:

if let markersArray = appDelegate.markersArray{
            for marker in markersArray{
                let name = marker["name"] as? [String:Any]
            }
        }

也尝试过这种方法,但仍然无法正常工作:

if let markersArray = appDelegate.markersArray{
                for marker in markersArray{
                    let name = marker["name"]
                }
            }

以下是“标记”在调试模式下的外观: markerScreenShot

当我打印标记时,它会打印正确的内容,但无法提取数据。

任何帮助将不胜感激,并且已经尝试过:link

1 个答案:

答案 0 :(得分:0)

所以我认为您的数组由[Any]组成,因此将无法使用字符串键,因为它不知道这是字典:

let array: [Any] = [["test": 12], ["testing": 2], ["12": 2]]
    for item in array {
        if let item = item as? [String: Any] {
            let name = item["test"]
        }
    }