iOS13未満での実装方法の詳細については以下の記事で説明しています。 Qiita - iOSとコードベースレイアウト 勿論、プロパティインジェクションならばiOS12以下でもStoryboardで定義したUIViewControllerで可能ですが、initializerでのDIをする設計にすることで以下の恩恵が得られます。 DIする値をプロパティで保持する場合に、varでなくletで定義できるのでより安全 DIする値をプロパティで保持する場合に、Optional型でなく非Optional型で定義できるので無駄なUnwrapが不要 UIViewControllerの生成を行うために、必ずDIが必要になるので、プロパティインジェクションのように設定忘れが起こり得ない iOS13でStoryboardでイニシャライザでDIする iOS13では地味にこんなAPIが加わっています。 instan