SwiftUI: не могу получить ответ APIIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI: не могу получить ответ API

Сообщение Anonymous »

Я пытаюсь получить ответ по этой ссылке: https://zsr.octane.gg/players/5f5ae840c6cbf591c568a477, но это не сработает, и я не могу понять, почему.
Есть мой ContentView.swift:

Код: Выделить всё

struct ContentView: View {

@State private var players = [Player]()

var body: some View {
List(players, id: \._id) { item in
VStack(alignment: .leading) {
Text(item.name)
.font(.headline)
Text(item.country)
}
}.task {
await loadData()
}
}

func loadData() async {
guard let url = URL(string: "https://zsr.octane.gg/players/5f5ae840c6cbf591c568a477") else {
print("URL invalide")
return
}

do {
let (data, _) = try await URLSession.shared.data(from: url)

if let decodedResponse = try? JSONDecoder().decode(Response.self, from: data) {
players = decodedResponse.players
}
} catch {
print("Invalid data")
}
}
}
Структура моего ответа:

Код: Выделить всё

struct Response: Codable {
var players: [Player]
}
Структура проигрывателя:

Код: Выделить всё

struct Player: Codable {
var _id: String
var slug: String
var tag: String
var name: String
var country: String
var team: Team
var accounts: [Account]
var revelant: Bool
}
Структура команды:

Код: Выделить всё

struct Team: Codable {
var _id: String
var slug: String
var name: String
var region: String
var image: String
var relevant: Bool
}
Структура аккаунта:

Код: Выделить всё

struct Account: Codable {
var platform: String
var id: String
}
Изменить: ошибка, которую я получил от do catch:

Неверные данные с ошибкой : keyNotFound(CodingKeys(stringValue: "revelant", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "Нет значения, связанного с ключом CodingKeys(stringValue: "revelant", intValue: nil) ("revelant").", базовая ошибка: nil))

Я следовал руководству, которое работает ну, но когда я заменяю ссылку и использую свои собственные структуры, при запуске приложения ничего не происходит.

Подробнее здесь: https://stackoverflow.com/questions/737 ... i-response
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»