前提・実現したいこと
for文をListがある分だけ繰り返すのですが、繰り返しを並行で行いたいです。
この書きかただと、1回目のfor文が完了したら2回目のfor文・・というような動きをしてしまっているので
やりかたをご教授いただきたいです。
該当のソースコード
swift
1 func doMultiAsyncProcess() { 2 let dispatchGroup = DispatchGroup() 3 let dispatchQueue = DispatchQueue(label: "queue", attributes: .concurrent) 4 5 // 非同期処理を実行 6 dispatchGroup.enter() 7 dispatchQueue.async(group: dispatchGroup) { 8 9 List.forEach { 10 // 空データは除く 11 if !$0.code.isEmpty{ 12 print($0.code) 13 // API通信開始 14 self.getAPIResult() 15 } 16 } 17 dispatchGroup.leave() 18 } 19 20 // 全ての非同期処理完了後にメインスレッドで処理 21 dispatchGroup.notify(queue: .main) { 22 print("All Process Done!") 23 } 24 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。