viewController 구성을 담당하는 추가 클래스를 추가 할 수 있습니다. MyViewController
에서
class MyViewControllerConfigurator {
static func configure(viewController: MyViewController) {
let someDependency = SomeDependency()
viewController.someDependency = someDependency
// force trigger lazy initialization of view (and subviews), which would be nil otherwize in awaikFromNib
_ = viewController.view
// do further configuration here (add child view controller, set delegates ...)
}
}
사용법 :
class MyViewController: UIViewController {
override func awakeFromNib() {
super.awakeFromNib()
MyViewControllerConfigurator.configure(viewController: self)
}
}
스토리 보드를 사용하여 인스턴스화 할 때의 ViewController도 구성됩니다 이런 식으로.
의견을 보내 주셔서 감사합니다. 나는 사실 싱글 톤에 대해 완전히 잊어 버렸다. 잠시 동안 사용하지 않았다. 그러나 그들이 싱글 책임 원칙을 위반하기 때문에 일반적으로 싱글 톤이 나쁜 디자인이 아닌가? –
나는 Singletons가 신적인 것을 피하는 것에 동의한다. 그러므로 그 이유는 "단 하나의 책임 원칙"이 아니라 다른 주제이다. 이것은 단지 하나의 가능한 구현 예였습니다. 나는 대답을 업데이트했다. – shallowThought
@shallowThought 이것은 의존성 삽입 예제가 아닙니다. 종속성을 수동으로 설정하고 종속성을 대상으로 전달하지 않습니다. – Gunhan