ObjectをつかってViewControllerがインスタンス化された際に自動で依存性を解決する
https://github.com/rambler-ios/Generamba
全然知らなかったんだけど、generambaを使っていてテンプレートに同じようなコードが含まれていたので気づいたw
めっちゃ便利だったので書いてみる
セットアップ
- ObjectをドラッグアンドドロップでViewControllerに設置する
 
Configurator(依存性を注入するクラス)を定義
- NSObjectを継承したConfiguratorを定義する
 
import Foundation
class Configurator: NSObject {
}
ConfiguratorをObjectに紐付ける
- custom classに先程定義したConfiguratorを紐付ける
 
ViewControllerとConfigurator/ViewControllerを紐付け
Configuratorで依存性を解決
import Foundation
class Configurator: NSObject {
	@IBOutlet weak var viewController: ViewController!
	override func awakeFromNib() {
		super.awakeFromNib()
		configure()
	}
	func configure() {
	     // ここで依存性を注入する
             viewController.model = SmapleModel()
	}
}