当我们想用 VIPER 架构编写项目时,我们应该使用 Struct 或 Class 来定义Presenter
orInteractor
或 ...
因为我们应该使用Class
for View
( 因为继承自UIViewcontroller
),所以如果我们Presenter
使用 Strcut 编写,性能或内存泄漏或......会发生什么?
class HomeView: UIViewController {
var presenter: HomeViewPresenterProtocol?
override func viewDidLoad() {
super.viewDidLoad()
...
}
}
struct HomePresenter {
var view: HomeViewProtocol?
...
}
我们应该使用weak var presenter: HomeViewPresenterProtocol?
in view还是不使用weak?
如果我们在 VIPER 中使用 struct 会发生什么?