如何解决从 URL swiftui 解压缩 JSON 文件
我正在尝试通过 zlib 协议从 URL 解压缩文件。我写了一个函数(loadData),它应该首先获取压缩的数据,然后解压,然后解码(JSON 解码器),最后把它放到变量“spotdata”中。 但是,我的模拟器或预览中没有显示任何内容。有谁知道我做错了什么?提前致谢!
struct ContentView: View {
@State var spotData = WindAppSpot()
var body: some View {
ZStack {
VStack {
Text("Hello World")
Text("\(spotData.spot)")
}
}.onAppear(perform: loadData)
}
}
extension ContentView {
func loadData() {
guard let url = URL(string: "https://github.com/Bene2907/Bene2907.github.io/raw/main/outfile.dat") else {
return
}
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data,response,error in
if let data = data {
do {
let decompressedData = try (data as NSData).decompressed(using: .zlib)
if let response_obj = try? JSONDecoder().decode(WindAppSpot.self,from: decompressedData as Data) {
DispatchQueue.main.async {
self.spotData = response_obj
}
}
} catch {
print(error.localizedDescription)
}
}
}.resume()
}
}
结构看起来像这样:
struct WindAppSpot: Decodable {
var spot: String
//...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。