Мой сетевой менеджер с Alamofire похож на этот для получения всего API ( NetworkManager.swift)
@Published var games = GamesDataList(results: [])
@Published var loading = false
private let api_url_base = "https://api.rawg.io/api/games"
И я хочу go для навигации, когда я получаю данные на основе Список отправленных идентификаторов: (HomeView.swift)
List(networkManager.games.results) { game in
NavigationLink(destination: GameDetailView(game: game)){
GamesRowView(game: game)
}
}
И если я хочу переключать страницы, NetworkDetail.swift должен быть таким, чтобы Alamofire убирает из ID данные Dynami c.
private func loadDetailData() {
let parameters = "12"
AF.request("\(api_url_detail)/\(id)",)
.responseJSON{ response in
guard let data = response.data else { return }
let gamesDetail = try! JSONDecoder().decode(GamesDetail.self, from: data)
print(gamesDetail)
DispatchQueue.main.async {
self.gamesDetail = gamesDetail
self.loading = false
}
}
И это мой GameDetailView.swift
var game: Games
@ObservedObject var networkDetail = NetworkDetail()
var body: some View {
VStack {
URLImage(URL(string: "\(networkDetail.gamesDetail.background_image)")!, delay: 0.25) {proxy in
proxy.image.resizable()
.frame(width: 120, height: 80)
.aspectRatio(contentMode: .fill)
.clipped()
}
HStack {
Text("Description").foregroundColor(.gray)
Spacer()
}
Text(networkDetail.gamesDetail.description).lineLimit(nil)
Spacer()
}.navigationBarTitle(Text(game.slug), displayMode: .inline)
.padding()
}
Я хочу, когда нажимать элемент в списке передаст ID и сделает запрос от Alamofire:
введите описание изображения здесь
Помогите, пожалуйста, спасибо. Прямо сейчас подробный API по-прежнему имеет c.