[swift] VIPER 아키텍처의 View를 Swift로 구현하는 방법은 무엇인가?
아래는 VIPER 아키텍처의 View를 Swift로 구현하는 간단한 예제입니다.
// ViewProtocol.swift
protocol ViewProtocol: class {
func showLoading()
func hideLoading()
func displayData(data: String)
}
// View.swift
class View: UIViewController, ViewProtocol {
var presenter: PresenterProtocol!
override func viewDidLoad() {
super.viewDidLoad()
presenter.viewDidLoad()
}
func showLoading() {
// Show loading indicator
}
func hideLoading() {
// Hide loading indicator
}
func displayData(data: String) {
// Display data
}
@IBAction func didTapButton(_ sender: UIButton) {
presenter.didTapButton()
}
}
위 예제에서 ViewProtocol
은 View의 프로토콜을 정의하고, View
클래스는 실제 View를 구현합니다. Presenter와의 연결은 의존성 주입을 통해 이루어집니다.
이와 같이 VIPER 아키텍처의 View를 구현하면, 각 모듈을 느슨하게 결합시키고 유닛 테스트가 용이해집니다.
더 자세한 내용은 참조 자료를 확인하시기 바랍니다.