私はこのリンクでGCDについてアップルの最後の会議以下午前:https://developer.apple.com/videos/play/wwdc2016-720/?time=33 私はそれがここでの前提条件のことを話すのポイントになった:https://developer.apple.com/videos/play/wwdc2016-720/?time=1267、このポイントに到着スウィフト3. の新機能を:https://developer.apple.com/videos/play/wwdc2016-720/?time=1474がこれに使用されます: .register(オブザーバー:、キュー:) 私の質問:どのようにこの機能を保持するオブジェクトBusyController
? https://developer.apple.com/videos/play/wwdc2016/720/?time=1550前提条件スウィフト3
1
A
答えて
0
register(observer:queue:)
はBusyController
を保持していますか?
まず、元に戻ってみましょう:彼の例の詳細を見失わないようにしましょう。彼はそれがは、はになることができるという強い参照を確立することを言っていないので、deinit
でクリーンアップしようとするだけで慎重にする必要があります。
したがって、DataTransform
はBusyController
を保持しますか?それは単にそのobserver
への強い参照を維持することができます。彼が「言うようになると、「... DataTransform
オブジェクトはBusyController
に強い参照を確立することを想像し、」彼らはただ言っている
をしかし:標準観測方法でこのカスタムregister
方法の一例をconflateないでくださいあなたは熟練した開発者であり、この問題を解決する方法を知っているので、weak
のリファレンスを使用してください。だから一般的に、私たちは彼らの観察者に強い参照を維持する観察方法を書いていないでしょう。
しかし、彼が言うように、強い参照サイクルを回避することがうまくいく場合でも、オブジェクトグラフはかなり複雑になる可能性があるので、deinit
に頼ってクリーンアップすることは必ずしも良い考えではありません。彼は明示的なinvalidate
プロセスを提唱しており、場合によってはdeinit
が呼ばれるまでにオブジェクトが無効になったことをテストするために前提条件を使用しています。
関連する問題
- 1. スウィフト3:条件
- 2. セットアッププロジェクト.net 4前提条件
- 3. JSPプロジェクトの前提条件
- 4. 前提条件のUML?
- 5. Clickonceアップデートインストールの前提条件
- 6. クライアントプロファイルアプリケーションの前提条件
- 7. 方法前提条件
- 8. nixos + haskell + opengl(前提条件)
- 9. メイク:各前提条件
- 10. Grailsの3つのWAR展開サーバーの前提条件
- 11. WiXの条件付き前提条件の指定
- 12. 迅速な3フィルタ、複数の条件スウィフト3では
- 13. セットアッププロジェクト、SQLコンパクト4の前提条件
- 14. 前提条件とクラス封じ込め
- 15. 前提条件付きスウィフトコードのテスト
- 16. Laravelログイン試行前提条件
- 17. 前提条件とデータベースとの対話
- 18. SAP .Net(NCo)/使用前提条件
- 19. 展開の前提条件ベストプラクティス
- 20. Windowsインストーラ - サイレントインストールの前提条件
- 21. アソートされたディレクトリの前提条件
- 22. 動的Djangoフィルタ(前提条件付き)
- 23. Railsはcruisecontrol.rbの前提条件です
- 24. コード化テストケースの前提条件
- 25. SQL Server 2016 MDS - インストールの前提条件
- 26. スウィフト:聞かせステートメント条件
- 27. param前提条件の名前付きルート
- 28. 複数の条件がガード・ステートメントのスウィフト
- 29. スウィフト可用性条件メジャーバージョン番号
- 30. ボタンに条件を追加する(スウィフト)