복붙노트

[SWIFT] 비동기 방식으로 배열의 반복이 완료되면 알

SWIFT

비동기 방식으로 배열의 반복이 완료되면 알

해결법


  1. 1.기다리지 마십시오. DispatchGroup으로 알림 메시지를받을.

    기다리지 마십시오. DispatchGroup으로 알림 메시지를받을.

    let rndStrings = ["a", "b", "c"]
    let group = DispatchGroup()
    var rndInts = [Int]()
    rndStrings.forEach { rndString in 
       group.enter()
       someAsyncMethod { intResult in
         rndInts.append(intResult)
         group.leave()
       }
    }
    group.notify(queue: DispatchQueue.main) {
       print("finished")
    }
    
  2. from https://stackoverflow.com/questions/52902639/know-when-an-iteration-over-array-with-async-method-is-finished by cc-by-sa and MIT license