如何在 for 循环 Swift 中发送响应 POST urlsession 任务?

how to send response POST urlsession task in for loop Swift?

如何在 for 循环中发送响应 POST urlsession 任务。我想创建“帐户和联系人”。我将联系人存储在数组中。我有两个端点 postA​​ccount 和 Postcontacts(notBulkPost);在 postA​​ccount 之后,我循环抛出联系人列表以将其一一插入。但任务仅插入第一个联系人。我怎样才能 post 在 for 循环中联系。

func showUIAlertCreate(_ numberOfNewUsers:Int) {
    let alert = UIAlertController(title: "Company Created", message: "A new company has been created and \(numberOfNewUsers) new users have been added. An email has been sent to these users to complete their account setup.", preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
        
        DataService.shared.PostAccount("23242-07", "2sdfsd", UUID().uuidString, self.txtfCompanyName.text!, self.dataSource.newContacts, completion: {  result in
            
    
            switch result {
                case .success(let account):
                    for index in self.dataSource.newContacts {
                        DataService.shared.PostContacts("23242-07", "sdfsdf", account.accountID, index ,  completion: {  result in
                            
                            switch result {
                                case .success(let data):
                                    print("done!")
                                    DispatchQueue.main.async{
                                        self.performSegue(withIdentifier: "segueToUsersTab", sender: nil)
                                    }
                                    
                                    break;
                                
                                case .failure(let error):
                                    
                                    fatalError("message: error \(error)")
                            }
                        })
                    }
                    
                    break;
                
                case .failure(let error):
                    
                    fatalError("message: error \(error)")
            }
        })
        
        
    }))
    
    self.present(alert, animated: true, completion: nil)
}

尝试 DispatchGroup:

let dispatchGroup = DispatchGroup()

...
for index in self.dataSource.newContacts {
    dispatchGroup.enter()

    DataService.shared.PostContacts("23242-07", "sdfsdf", account.accountID, index ,  completion: {  result in
        // Do your stuff here
        dispatchGroup.leave()
    }
}