Ios 如何逐步提出Alamofire请求?

Ios 如何逐步提出Alamofire请求?,ios,json,swift,swift4,alamofire,Ios,Json,Swift,Swift4,Alamofire,我必须使用Alamofire向服务器发送POST请求,但每次完成前一个api调用时,都需要更改主体参数中的“id” 这是我到目前为止所做的,但是Alamofire根据数组中包含的id数量发出3个请求,但它总是使用相同的“id”执行api调用,而不是像这样循序渐进地执行:(id:0、id:1、id:2等等): 我怎样才能让它正常工作 感谢您的帮助此代码循环,但此代码存在许多问题,您可能只是看不到而已。如果回调中的UI更新最终不在主线程上,则肯定会发生崩溃。还有,为什么要在主线程异步中包装网络请求?

我必须使用Alamofire向服务器发送POST请求,但每次完成前一个api调用时,都需要更改主体参数中的“id”

这是我到目前为止所做的,但是Alamofire根据数组中包含的id数量发出3个请求,但它总是使用相同的“id”执行api调用,而不是像这样循序渐进地执行:(id:0、id:1、id:2等等):

我怎样才能让它正常工作


感谢您的帮助

此代码循环,但此代码存在许多问题,您可能只是看不到而已。如果回调中的UI更新最终不在主线程上,则肯定会发生崩溃。还有,为什么要在主线程异步中包装网络请求?这对回叫没有帮助。。。简言之,我建议实现适当的MVVP,遵循一些教程,解释如何正确组织此类请求和UI更新,您的问题可能会自行消失。此代码循环,但此代码存在许多问题,您可能根本看不到。如果回调中的UI更新最终不在主线程上,则肯定会发生崩溃。还有,为什么要在主线程异步中包装网络请求?这对回叫没有帮助。。。简言之,我建议实现适当的MVVP,遵循一些教程,解释如何正确组织此类请求和UI更新,您的问题可能会自行消失
func getVirtualCards() {
    DispatchQueue.main.async {
        for card in self.cardsListId ?? [] {
            CardsClient.getVirtualCards(cardId: card.id, completion: {  [weak self] result in
                switch result {
                case .success(let response):
                    guard let cardInfo = response.cardContext?.cardInfo else {return}
                    self?.cardsList?.append(cardInfo)

                    guard let cardList = self?.cardsList else {return}
                    self?.cardsViewController?.cardsData = cardList
                case .failure(let error):
                    print(error.localizedDescription)
                }
            })
        }
    }
}