tooling/RIB.xctemplate/ownsView/___FILEBASENAME___Interactor.swift (23 lines of code) (raw):
//___FILEHEADER___
import RIBs
import RxSwift
protocol ___VARIABLE_productName___Routing: ViewableRouting {
// TODO: Declare methods the interactor can invoke to manage sub-tree via the router.
}
protocol ___VARIABLE_productName___Presentable: Presentable {
var listener: ___VARIABLE_productName___PresentableListener? { get set }
// TODO: Declare methods the interactor can invoke the presenter to present data.
}
protocol ___VARIABLE_productName___Listener: AnyObject {
// TODO: Declare methods the interactor can invoke to communicate with other RIBs.
}
final class ___VARIABLE_productName___Interactor: PresentableInteractor<___VARIABLE_productName___Presentable>, ___VARIABLE_productName___Interactable, ___VARIABLE_productName___PresentableListener {
weak var router: ___VARIABLE_productName___Routing?
weak var listener: ___VARIABLE_productName___Listener?
// TODO: Add additional dependencies to constructor. Do not perform any logic
// in constructor.
override init(presenter: ___VARIABLE_productName___Presentable) {
super.init(presenter: presenter)
presenter.listener = self
}
override func didBecomeActive() {
super.didBecomeActive()
// TODO: Implement business logic here.
}
override func willResignActive() {
super.willResignActive()
// TODO: Pause any business logic.
}
}