| 123456789101112131415161718192021222324252627282930 |
- import SwiftUI
- import Swinject
- protocol BaseView: View {
- associatedtype StateModelType: StateModel
- var resolver: Resolver { get }
- var state: StateModelType { get }
- var router: Router { get }
- func configureView()
- func configureView(_ configure: (() -> Void)?)
- }
- extension BaseView {
- var router: Router { resolver.resolve(Router.self)! }
- }
- extension BaseView {
- func configureView() {
- configureView(nil)
- }
- func configureView(_ configure: (() -> Void)?) {
- if state.isInitial {
- configure?()
- state.resolver = resolver
- state.isInitial = false
- }
- }
- }
|