tooling/RIB.xctemplate/ownsView/___FILEBASENAME___Router.swift (13 lines of code) (raw):

//___FILEHEADER___ import RIBs protocol ___VARIABLE_productName___Interactable: Interactable { var router: ___VARIABLE_productName___Routing? { get set } var listener: ___VARIABLE_productName___Listener? { get set } } protocol ___VARIABLE_productName___ViewControllable: ViewControllable { // TODO: Declare methods the router invokes to manipulate the view hierarchy. } final class ___VARIABLE_productName___Router: ViewableRouter<___VARIABLE_productName___Interactable, ___VARIABLE_productName___ViewControllable>, ___VARIABLE_productName___Routing { // TODO: Constructor inject child builder protocols to allow building children. override init(interactor: ___VARIABLE_productName___Interactable, viewController: ___VARIABLE_productName___ViewControllable) { super.init(interactor: interactor, viewController: viewController) interactor.router = self } }