1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//
// {{ module_info.name }}View.swift
// {{ module_info.project_name }}
//
// Created by {{ developer.name }} on {{ date }}.
// Copyright {{ year }} {{ developer.company }}. All rights reserved.
//
import UIKit
import SQExtensions
import SQUIKit
import SnapKit
protocol {{ module_info.name }}View: BaseView {
@MainActor
func show(data: {{ module_info.name }}Data)
@MainActor
func show(data: {{ module_info.name }}Data, animated: Bool)
}
final class {{ module_info.name }}ViewController: BaseViewController {
// MARK: - VUPER
private var presenter: {{ module_info.name }}Presenter! { self._internalPresenter as? {{ module_info.name }}Presenter }
// MARK: - Life cycle
override func loadView() {
super.loadView()
self.configure()
self.setupLayout()
}
override func viewDidLoad() {
super.viewDidLoad()
self.presenter.viewDidLoad()
}
}
// MARK: - SQConfigurableView
extension {{ module_info.name }}ViewController: SQConfigurableView {
func configure() {
}
func setupLayout() {
}
}
// MARK: - {{ module_info.name }}View
extension {{ module_info.name }}ViewController: {{ module_info.name }}View {
func show(data: {{ module_info.name }}Data) {
self.show(data: data, animated: true)
}
func show(data: {{ module_info.name }}Data, animated: Bool) {
}
}
// MARK: - DI
extension {{ module_info.name }}ViewController {
var injectPresenter: {{ module_info.name }}Presenter? {
get { nil }
set { self._internalPresenter = newValue }
}
}