tooling/RIB.xctemplate/Default/___FILEBASENAME___Interactor.swift (19 lines of code) (raw):

//___FILEHEADER___ import RIBs import RxSwift protocol ___VARIABLE_productName___Routing: Routing { func cleanupViews() // TODO: Declare methods the interactor can invoke to manage sub-tree via the router. } protocol ___VARIABLE_productName___Listener: AnyObject { // TODO: Declare methods the interactor can invoke to communicate with other RIBs. } final class ___VARIABLE_productName___Interactor: Interactor, ___VARIABLE_productName___Interactable { 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() {} override func didBecomeActive() { super.didBecomeActive() // TODO: Implement business logic here. } override func willResignActive() { super.willResignActive() router?.cleanupViews() // TODO: Pause any business logic. } }