gpt4 book ai didi

ios - 类型 'Any' 在 Swift 3 Xcode 8 中没有下标成员

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:31 25 4
gpt4 key购买 nike

我正在尝试将我的项目转换为 Swift 3 并不断收到此错误。除了这个错误,我已经修复了所有其他错误。我看到其他一些人遇到了问题,但我是 JSON 的新手,所以我不理解他们。任何帮助将不胜感激。

这是我的代码:

class func fetchPriceForSymbol(_ symbol: String, completion:@escaping (_ stock: StockPrice) -> ()) {

DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async {

let url = URL(string: "http://finance.yahoo.com/webservice/v1/symbols/\(symbol)/quote?format=json")
let data = try? Data(contentsOf: url!)

do {
//let object = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)
let object = try! JSONSerialization.jsonObject(with: data!)
if let dictionary = object as? [String: AnyObject] {
let title = object["list"] as! NSDictionary
let title2 = title["resources"] as AnyObject!
let title3 = title2[0] as AnyObject!
let title4 = title3["resource"] as AnyObject!
let fields = title4["fields"] as AnyObject!


let stockPrice = StockPrice (
price: fields["price"] as AnyObject! as! String
)

DispatchQueue.main.async {
completion(stock: stockPrice)
}
}
} catch {
// Handle Error
}



}
}

最佳答案

在中间的解析部分试试这个:

        let parsed = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
let list = parsed["list"] as! [String:Any]?
let resources = list?["resources"] as! [AnyObject]?
let fields = resources?[0] as! [String:Any]?
let resource = fields?["resource"] as! [String:Any]?
let fields2 = resource?["fields"] as! [String:Any]?
let price = fields2?["price"] as! String?

关于ios - 类型 'Any' 在 Swift 3 Xcode 8 中没有下标成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39576282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com