【Swift】MVP
MVP
Model :
ビジネスロジック、データ処理(内部ロジック)、純粋なドメインロジック
View :
表示と入出力処理、描画、イベント通知
Presenter :
Model操作、View更新、表示用のデータ保持
JournalsModel.swift
protocol JournalsModelInput {
}
class JournalsModel: JournalsModelInput {
}
JournalsViewController.swift
class JournalsViewController: UIViewController {
private var presenter: JournalsPresenterInput!
func inject(presenter: JournalsPresenterInput) {
self.presenter = presenter
}
override func viewDidLoad() {
super.viewDidLoad()
presenter = JournalsPresenter.init(view: self, model: JournalsModel())
inject(presenter: presenter)
presenter.viewDidLoad()
}
}
extension JournalsViewController: JournalsPresenterOutput {
func setupViewForViewDidLoad() {
}
}
JournalsPresenter.swift
protocol JournalsPresenterInput {
}
protocol JournalsPresenterOutput: AnyObject {
}
final class JournalsPresenter: JournalsPresenterInput {
private weak var view: JournalsPresenterOutput!
private var model: JournalsModelInput
init(view: JournalsPresenterOutput, model: JournalsModelInput) {
self.view = view
self.model = model
}
func viewDidLoad() {
view.setupViewForViewDidLoad()
}
}
Author And Source
この問題について(【Swift】MVP), 我々は、より多くの情報をここで見つけました https://qiita.com/YingZheng/items/b246117e197708e13d76著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .