填充一个数组然后调用一个函数

Fill an array and then call a function

在完成一次获取数据后,我一个一个地接收到数据项。我想将此项附加到数组中,然后调用数据,我该怎么做?我如何告诉函数等待所有数据附加到数组 - 并且数据数量不同。

self?.dataModel.fetchExportCSV(id: id, completion: { [weak self] in
    switch [=10=] {
      case .success(let data):
          var arryData: [exportVO] = []
          arryData.append(data)

          //this is the fucntion that should be called after all the data are append to the array
          createCSV(data: arryData)
    self?.dataModel.fetchExportCSV(id: id, completion: { [weak self] in
        let dGroup = DispatchGroup()

      switch [=10=] {
        case .success(let data):
          dGroup.enter()
          var arryData: [exportVO] = []
          arryData.append(data)
          dGroup.leave()
      }

     //after switch case
      dGroup.notify(queue: .main) {
            createCSV(data: arryData)
      }
    }

将 .enter() .leave() 添加到 switch 中的所有 case

More Info

Dispatch group

DispatchSemaphore