类型“任何”不符合协议“序列”

Posted

技术标签:

【中文标题】类型“任何”不符合协议“序列”【英文标题】:Type 'Any' doesn't conform to protocol 'Sequence' 【发布时间】:2016-09-21 15:40:28 【问题描述】:

我的代码有问题,在尝试解析 JSON 数据(数组的每个数据,例如应该如何完成)并尝试设置 for in 循环时,出现错误。这是我的代码

if let jsonDataArray = try? JSONSerialization.jsonObject(with: data!, options: [])


    print(jsonDataArray)

    var allStops = [busStops]()

    for eachData in jsonDataArray
                    ^
    //this is where the error is located 

    

        if let jsonDataDictionary = eachData as? [String : AnyObject]
        

            let eachStop = busStops(jsonDataDictiony: jsonDataDictionary)

        

    


【问题讨论】:

【参考方案1】:

将jsonDataArray的类型直接指定为[[String: Any]],这样试试。

if let jsonDataArray = try? JSONSerialization.jsonObject(with: data!, options: []) as? [[String: Any]] 
     for eachData in jsonDataArray 
         let eachStop = busStops(jsonDataDictiony: jsonDataDictionary)
     

【讨论】:

谢谢,它对我有用。如果让角=barcodeMetadataObject.corners 为? [[字符串:任意]]

以上是关于类型“任何”不符合协议“序列”的主要内容,如果未能解决你的问题,请参考以下文章

尝试符合可等式泛型 Set 时,类型“任何”不符合协议“等式”

在 Swift 中映射符合协议的类型

Text 或 Image 等视图类型如何符合 SwiftUI 中的 View 协议?

类型“ViewController”不符合协议

类型 '' 不符合协议 'Decodable'/'Encodable'

泛型类型在不透明类型的帮助下符合序列:一些 IteratorProtocol