Ios 如何使用Alamofire和Combine在Swift UI中获取详细Api?

Ios 如何使用Alamofire和Combine在Swift UI中获取详细Api?,ios,swift,swiftui,alamofire,combine,Ios,Swift,Swiftui,Alamofire,Combine,我使用Alamofire的网络管理器与get all API类似(NetworkManager.swift) 当我根据发送的ID列表检索数据时,我想转到导航:(HomeView.swift) 如果我想切换页面,NetworkDetail.swift必须是这样的,这样Alamofire就可以从ID细节动态中移除 private func loadDetailData() { let parameters = "12" AF.request(&

我使用Alamofire的网络管理器与get all API类似(NetworkManager.swift)

当我根据发送的ID列表检索数据时,我想转到导航:(HomeView.swift)

如果我想切换页面,NetworkDetail.swift必须是这样的,这样Alamofire就可以从ID细节动态中移除

  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

@Published var games = GamesDataList(results: [])
   @Published var loading = false
   private let api_url_base = "https://api.rawg.io/api/games"
 List(networkManager.games.results) { game in
                        NavigationLink(destination: GameDetailView(game: game)){
                            GamesRowView(game: game)
                        }
                    }
 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仍然是静态的。

您在哪里跟踪
加载
?看起来它没有被切换。需要更多代码才能查看工作流。好的,我将在我的问题中编辑和添加代码流。是否清楚bro?。我不清楚您的描述,但我相信您希望将ID从列表视图传递到详细信息视图。如果是这样,请在details视图中为保留@Binding属性,并从NavigationLink传递ID。如果我理解错了,请让我知道。是的,就像那样,我成功地传递了ID,但我的问题是:当我转到DetaileView时,我想要基于我从alamofire获得的ID{ID}的hit API。你有参考资料吗?你在哪里跟踪
加载
?看起来它没有被切换。需要更多代码才能查看工作流。好的,我将在我的问题中编辑和添加代码流。是否清楚bro?。我不清楚您的描述,但我相信您希望将ID从列表视图传递到详细信息视图。如果是这样,请在details视图中为保留@Binding属性,并从NavigationLink传递ID。如果我理解错了,请让我知道。是的,就像那样,我成功地传递了ID,但我的问题是:当我转到DetaileView时,我想要基于我从alamofire获得的ID{ID}的hit API。你有推荐信吗?。