gpt4 book ai didi

json - 解析 json,填充 Collection View Swift 4.2

转载 作者:行者123 更新时间:2023-11-30 11:05:47 24 4
gpt4 key购买 nike

这太简单了,但我迷路了。我对 Swift 还很陌生。

我需要解析下载的 json(Xcode 项目中的本地化文件)并将数据填充到 CollectionView

enum Response{
case success(Data)
case error(Error)
}

// struct follows the json
struct InformationFromJson: Decodable {
let id: Int
let name: String
}



class MYJSON {
public func downloadMYJSON(_ completion: @escaping (Response) -> ()) {

guard let bundle = Bundle(identifier: MYJSON.bundleId), let path = bundle.path(forResource: "data", ofType: "json"), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) else {
completion(Response.error(NSError(domain: MYJSON.bundleId, code: MYJSON.bundleErrorCode, userInfo: [NSLocalizedDescriptionKey : MYJSON.bundleError])))
return
}
completion(Response.success(data))
}
}

那么,在不完全改变函数调用的情况下,如何解析 json?到目前为止,它已经从函数中下载了,但我不知道如何添加打印语句来测试,而不会因为 Guard 语句而出现错误,就像这样。

我需要简单地填充cellForRowAt:

我从来没有见过这样的嵌套守卫,所以它吸引了我。我习惯于将 let 语句分开,这样您就可以放置 print 语句来至少查看是否正在下载或解析内容。

最佳答案

您可以通过传递数据来解码您的json,无论您从中获得什么

let data = try? Data(contentsOf: URL(fileURLWithPath: path))     

guard let decoded = try? JSONDecoder().decode(InformationFromJson.self, from: data) else {
return
}

关于json - 解析 json,填充 Collection View Swift 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52751899/

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