【发布时间】:2019-09-10 20:56:59
【问题描述】:
我有一个应用程序,它向我显示来自 API 的数据。我做了一个获取数据的服务,其中 URL(string = "") 是 API 的 url:
class Webservice {
func getAllMatches(completion: @escaping ([Matches.Matchs]?) -> ()) {
guard let url = URL(string: "API")
else {
fatalError("URL is not correct!")
}
URLSession.shared.dataTask(with: url) { data, _, _ in
let matchs = try! JSONDecoder().decode([Matches.Matchs].self, from: data!)
DispatchQueue.main.async {
completion(matchs)
}
}.resume()
}
}
然后我制作了一个 ViewModel,其中设置了 API 字段:
class MatchListViewModel: ObservableObject {
@Published var matches = [MatchViewModel]()
init() {
fetchMatch()
}
func fetchMatch() {
Webservice().getAllMatches { matches in
if let matches = matches {
self.matches = matches.map(MatchViewModel.init)
}
}
}
}
class MatchViewModel {
let id = UUID()
var match: Matches.Matchs
init(match: (Matches.Matchs)) {
self.match = match
}
var championship: String {
return self.match.championship.name
}
var local_Name: String {
return self.match.local.name
}
var local_Image: String {
return self.match.local.image
}
var local_goals: Double {
return self.match.local_goals
}
var local_penalty_goals: Double {
return self.match.local_penalty_goals
}
var stadium_Name: String {
return self.match.stadium.name
}
}
在API中,有一个显示图像的字段,它包含在一个URL中,我举个例子:
"local":{
"slug":"nombre",
"name":"nombre",
"short_name":"nombre",
"image":"https://s3.amazonaws.com/funx-futbol/dashboard/ad.png"
},
我的问题是:如何通过该 URL 显示该图像? API 查询有效,因为它为我提供了我需要的信息,但我需要通过该链接向我展示图像,但我还没有实现。
感谢阅读!
【问题讨论】: