arrays - 无法将类型 '__NSSingleEntryDictionaryI' (0x10d249f78) 的值转换为 'NSArray'

标签 arrays swift dictionary crash nsarray

这是我的代码:

if let responseDic = response as? Dictionary<String, AnyObject>
                {
                    var temp = Array<Store>.init()

                    var dataDic = responseDic["data"] as? Dictionary<String, AnyObject>
                    if dataDic != nil {

                        for storeList in dataDic!["stores"] as! NSArray {
                                if let store = storeList as? Dictionary<String, AnyObject>
                                {
                                    temp.append((Store(dictionary: store)))
                                }
                            }
                    }

我收到崩溃错误:无法将类型“__NSSingleEntryDictionaryI”(0x10d249f78)的值转换为“NSArray”(0x10d24b008)。对于这一行: for storeList in dataDic!["stores"] as! NSArray

这是我的回复结构:

{
  "data": {
    "stores": {
      "items": [
        {...}]
}
}

最佳答案

您需要转换此内容

for storeList in dataDic!["stores"] as! NSArray

if let dic = dataDic!["stores"] as? [String:Any] {}

关于arrays - 无法将类型 '__NSSingleEntryDictionaryI' (0x10d249f78) 的值转换为 'NSArray',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086576/

相关文章:

C 代码错误 : free(): invalid next size (fast):

ios - 如何快速向uiimage添加彩色边框

ios - Int64存储在Realm中无法转换

python - 切换字典键

python - `object in list` 的行为与 `object in dict` 不同?

python - 创建新列表并附加到字典

包含对象逻辑的 Javascript 数组失败。出了什么问题?

javascript - jQuery getJson 函数内填充的数组范围

Swift依次运行3个函数

java - 我无法让我的removeDuplicate 方法发挥作用?