2つの意味の違いは非常に狭いので、どちらのオプションが存在するのか不思議です。彼らは機能的にどのように異なっているのでしょうか、あるいは他のものの単なる別名ですか?Swift 3:DispatchQueue.main.async {}とDispatcQueue.main.async(実行:{})の違い?
3
A
答えて
1
はが閉鎖構文後続何が参照していると呼ばれています。クロージャーを使いやすくするための構文的な砂糖です。
閉鎖に関連する構文糖機能には他にも多くの種類がありますが、回答はhereです。
いつものように、Swift Language guideを強くお勧めします。これは、このような基本を説明するのに大変役立ちます。
11
全く違いはありません。実際、彼らはまったく同じ方法です。コンパイラに
、
myQueue.async(execute: { foo() })
は、任意の関数やメソッドの最後の引数が関数である場合は、あなたの代わりに末尾の閉鎖とその引数を渡すことができ
myQueue.async {
foo()
}
とまったく同じですそれを引数リストの中に渡します。これは、DispatchQueue.async
のような高次関数を言語の一部のように感じ、構文上のオーバーヘッドを減らし、ドメイン特有の言語の作成を容易にするために行われます。
末尾のクロージャの構文hereに関するドキュメントがあります。
ところで、私の最初の例を書くための慣用的な方法は、次のようになります。
myQueue.async(execute: foo)
関連する問題
- 1. DispatchQueue.main.asyncとDispatchQueue.main.syncの相違点
- 2. DispatchQueue.main.asyncとDispatch.main.asyncAfter(.now()、{})の相違点
- 3. SwiftデータとNSDataの3つの違い
- 4. スレッドプール:DispatchQueue.main.async
- 5. なぜDispatchQueue.main.asyncが実行されないのですか?
- 6. Swift 3でPerformSegueWithIdentifierを実行します。
- 7. デバッグと実行の違い
- 8. 作成されたキューとグローバルキューの違い。 Swift 3
- 9. FirebaseとSwiftで1対多のクエリを実行する3
- 10. いくつかの時点でコードを実行するswift 3
- 11. IntとUint8 swiftの違い
- 12. 私は間違っていますか?Swift 3 httpリクエストとレスポンス
- 13. Swift 3変換後にPFQueryが実行されない
- 14. Funcが正しく実行されない(Swift 3)
- 15. VSコードの実行とコードファイルの違い
- 16. Androidで実行中のタスクと実行中のプロセスの違い
- 17. 実行アプリケーションと実行中のGrailsの動作の違い
- 18. FirebaseとSwift 3コードがもう実行されていません
- 19. iOS Swift 3アニメーションの実行後にアクションを実行する方法
- 20. スレッド#実行とスレッド#ウェイクアップの違いは?
- 21. コマンドラインrunasと右クリック実行の違い
- 22. ファイルエクスプローラ(Windowsエクスプローラ)と実行コマンドの違い
- 23. 実行ターボの違いと視覚
- 24. SwiftのNSIndexPathの行とセクションの違いは何ですか?
- 25. コトルでの実行と実行の違い
- 26. Swift 3&Swift SDK(0.2.0)
- 27. 実行計画と実行計画の違い
- 28. MacOSのステータスバーアプリのshow menuとclick on swift 3の機能を実行する
- 29. swift 3引数付きのセレクタを実行
- 30. Swift 3のコマンドラインプログラムで "say"を実行する方法は?
この場合、次のようにすることもできます: 'myQueue.async(execute:foo)' :) – Alexander
私は並列をもっと明白にしようとしましたが、それはより慣用的な方法でしょう:) –