提问人:stoney 提问时间:1/13/2022 最后编辑:stoney 更新时间:1/13/2022 访问量:222
Bundle.main.path(forResource:ofType:inDirectory:)
Bundle.main.path(forResource:ofType:inDirectory:)
问:
我正在尝试从我的捆绑包中加载一个 json 文件,但只说前 100 个条目。是否可以将 Bundle.main.path(for...) 与 url 上使用的“&limit=Int”一起用于从 API 中获取?
我不想将整个文件加载到我的数组中。
我正在使用Paul Hudson json从itunes api获取歌曲的简单/不错的示例。此加载器工作正常。我只是想知道如何处理更大的文件,以备后用。我找到了 .prefix(Int) 来修剪我的数组,但我想不必加载整个文件。
'''
func loadData() {
/* guard let url = URL(string: "https://itunes.apple.com/search?term=taylor+swift&entity=song&limit=\(count)") else {
print("Invalid URL")
return
} */
guard let url = Bundle.main.url(forResource: "TaylorSwift12", withExtension: "json") else { fatalError("Could not find TaylorSwift.json") }
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
if let decodedResponse = try? JSONDecoder().decode(Response.self, from: data) {
DispatchQueue.main.async {
self.results = decodedResponse.results
}
return
}
}
print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
}.resume()
}
'''
答: 暂无答案
评论