Теперь мой вопрос:
Чтобы попрактиковаться в SwiftUI и API, я хочу создать небольшое приложение, которое отображает некоторые данные о коронавирусе, очень простое. Это API, который я использовал: Coronavirus API.
Теперь это мой код:
Код: Выделить всё
import SwiftUI
struct GlobalResult: Decodable {
var cases: Int
var deaths: Int
var recovered: Int
}
struct Statistics : View {
@State var global: GlobalResult!
var body: some View {
VStack {
VStack {
Text("\(self.global.cases)")
}
}.onAppear() {
ApiShared.shared.getData()
}
}
}
class Api {
@Published var data: GlobalResult!
func getData() {
let url = "https://corona.lmao.ninja/v2/all"
let session = URLSession(configuration: .default)
session.dataTask(with: URL(string: url)!) { (data, _, err) in
if err != nil {
print((err?.localizedDescription)!)
return
}
let json = try! JSONDecoder().decode(GlobalResult.self, from: data!)
DispatchQueue.main.async {
self.data = json
}
}
.resume()
}
}
class ApiShared {
static let shared = Api()
}
struct Statistics_Previews: PreviewProvider {
static var previews: some View {
Statistics()
}
}
Когда я удалю
Код: Выделить всё
ifон говорит:
"Неустранимая ошибка: неожиданно обнаружено ноль при неявном развертывании необязательного значения"
Подробнее здесь: https://stackoverflow.com/questions/622 ... ith-an-api
Мобильная версия