私はURLSession.dataTask(with:completionHandler:)
がの非同期の機能であり、Data(contentsOf:)
はの同期の機能であると見ました。これらの機能を実現するものは非同期またはですか?機能を迅速に同期化または同期化するにはどうすればよいですか?
答えて
メソッド/メソッド呼び出しは常に同期します。しかし、いくつかのメソッドは、非同期の方法でを振る舞います。メソッドが完了しても、戻ってもまだ処理が行われています。
メソッドの定義には、それが何であるかどうかは何もありません。完了ハンドラがあるという事実ヒントこのメソッドはおそらく非同期な作業を行っているかもしれませんが、保証されていないし、完了ハンドラの不在もメソッドが非同期作業をしないことを保証していません。 メソッドが完了ハンドラを受け入れ、いくつかの非同期作業を行い、メソッドが返った後にcompletionHandlerが呼び出された場合、closureパラメータに@escaping
がなければなりません。
ボトムライン:あなたはドキュメントを読んで、および/または、それが何をするかを理解するためにメソッドの実装を見ています。
@ luk2302によると、同期や非同期の処理を行う独自のメソッドを制御するために、それらをDispatchQueueに置くことができます.Sisync {...}、.async {... }それぞれ。詳細については、GCDに関するAppleのドキュメントを参照してください。 https://developer.apple.com/library/content/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html – Alienbash
- 1. OSXでの同期の迅速化
- 2. このJSスクリプトコードを延期または非同期化するにはどうすればよいですか?
- 3. P4WinまたはP4Vで「同期する」を自動化するにはどうすればよいですか?
- 4. coredataとwebservicesを迅速に同期させるにはどうすればよいですか?
- 5. Connectミドルウェアで非同期初期化を使用するにはどうすればよいですか?
- 6. Dropboxの同期はどのように機能しますか?
- 7. 同期化のためにfineuploaderを設定するにはどうすればよいですか?
- 8. 静的メソッドの同期化または非同期化
- 9. UnsatisfiedLinkError:同期化されていないデフラータを作成するにはどうすればよいですか?
- 10. レルム同期迅速例
- 11. 同期ポストリクエストを非同期ポストリクエストに変換するにはどうすればよいですか?
- 12. vuexの状態変化を同期的に監視するにはどうすればよいですか?
- 13. 怠惰なvarを迅速に再初期化するには?
- 14. Visual Studioでdesigner.csとxibファイルを同期化するにはどうすればよいですか?
- 15. レールRSpec機能テストで非同期メーラーをテストするにはどうすればよいですか?
- 16. Dropboxで同期機能を実現するにはどうすればよいですか?
- 17. スレッド間の同期はどうすればよいですか?
- 18. PHPのメール機能は同期または非同期ですか?
- 19. インポートはどのように迅速に機能しますか?
- 20. インポートはどのように迅速に機能しますか?
- 21. Wordpressでカスタムフィールドを同期するにはどうすればよいですか?
- 22. どのようにクーダカーネル機能の間で同期する?
- 23. Androidレイアウトビューを同期するにはどうすればよいですか?
- 24. 非同期コールバックをテストするにはどうすればよいですか?
- 25. IKImageViewを初期化するにはどうすればよいですか?
- 26. 変数を初期化するにはどうすればよいですか?
- 27. コンテンツプロバイダを初期化するにはどうすればよいですか?
- 28. Firebase機能で、同期/非同期Messをきれいにします。ES6
- 29. は、初期化機能に
- 30. 更新 - 非同期要求内で同期要求を行うにはどうすればいいですか
非同期メソッドは、通常、呼び出しが完了したときに呼び出し元に通知するメカニズムを提供します。彼らは一般的に "完了ハンドラ"クロージャパラメータを持っているか、そのクラスは "デリゲート"プロパティを持っています。したがって、これらのいずれかが表示されている場合は、赤いフラグであり、非同期である可能性があることを示します。これは難しくて速いルールではありません(たとえば、呼び出し元に完了を知らせるメカニズムを提供しない非同期メソッドを書くことができます)が、それはかなり貧弱なデザインであり、かなりまれです。間違いなく非同期ではないクロージャ/デリゲートパターンがあります。必ずドキュメントを介して確認してください。 – Rob