Swiftが登場してから様々なパターンがiOS開発に輸入されてきましたが、Dependency Injection(DI)はまだまた定着したとは言い難いのではないでしょうか。 本セッションは、なぜDIやDIを補助する仕組みが必要なのかというところから説明を始めます。続いて、他の言語で行われているDIのプラクティスを紹介し、それをSwiftに当てはめようとした時にどのような問題が生じるのか説明します。そして、最後にSwiftに合うDIのプラクティスとはどのようなものか示し、それを満たすプラクティスを模索した結果をシェアします。
![コード生成による静的なDependency Injection | iOSDC Japan 2017](https://cdn-ak-scissors.b.st-hatena.com/image/square/dab3a04bbe93310d13d19c777bd2297a8b03a7d8/height=288;version=1;width=512/https%3A%2F%2Fiosdc.jp%2F2017%2Fthemes%2Fcustom%2Fiosdc_japan_2017%2Fimages%2Fsns.png)