12

Alamofire を含む SPM で作成された非常に単純な迅速なプロジェクトを使用しています。

main.swift:

import Alamofire

Alamofire.request("https://google.com").responseString(queue: queue) { response in
            print("\(response.result.isSuccess)")
}

ロックを使用しない場合、クロージャーは実行されません。終了する前にすべてのスレッドまたはその特定のスレッドを待機するように指示する方法はありますか?

これは Playgrounds を使用して簡単に実現できることは承知しています。

4

2 に答える 2

6

スイフト3の場合

let group = DispatchGroup()
group.enter()
DispatchQueue.global(qos: .userInitiated).async {
    // Do work asyncly and call group.leave() after you are done
    group.leave()
}
group.notify(queue: .main, execute: {
    // This will be called when block ends             
})

このコードは、タスクの完了後にコードを実行する必要がある場合に役立ちます。

質問の詳細を追加してください。さらにお手伝いいたします。

于 2017-10-31T18:13:05.110 に答える