0
私は仕事と呼び出しを完了する機能を持っています。このようなものブロック内でブロックを完了する前に予測できないデータを待つ
func doStuff(completion: (Bool) ->()) {
performWork()
completion(true)
}
performWorkは、他のメソッドで結果を受け取るプロセスをトリガーするという問題があります。そして、この結果によっては、completion
という呼出しが成功しているか、前の方法のデータに基づいていないとかです。
解決策はありますか?メソッドdoStuff
を変更することはできません。私はその第三者にperformWork()へのアクセス権を持っていません。私はそれを呼び出すことしかできません。
'performWork'の補完ブロックも使用し、' completion'を呼び出します。 – the4kman
"performWorkは他のメソッドの結果を受け取る何らかのプロセスをトリガします"あなたは 'performWork()'が非同期であることを意味しますか?その後、 'performWork()'に補完ハンドラを追加します。 – Larme
いいえ私はperformWork、そのサードパーティのAPIにアクセスできない –