ToDo icon indicating copy to clipboard operation
ToDo copied to clipboard

MVC with RIBS

Open mohammad19991 opened this issue 6 years ago • 3 comments
trafficstars

Hi @dev4jam,

I have an application which is already built using MVC and now I'm planning to start using RIBs and migrate the app step by step. So I created a RIB for example ProfileRIB and I want to added it to my TabBarController. is there a way I can combine RIBs with MVC or the whole application have to be built using RIBs?

Thanks

mohammad19991 avatar Aug 28 '19 07:08 mohammad19991

Hi @mohammad19991. Definitely, it's possible. In fact, I've done this several times. One concern though - you'll need to implement several protocols from RIBs.

dev4jam avatar Aug 30 '19 05:08 dev4jam

but for me it still not clear what needs to be done, for example I created ProfileRIB and now I want to add it to my TabBarController:

let builder = ProfileBuilder(dependency: AppComponent()).build(with: context)
let profileViewController = builder.viewControllable.uiviewController
tabbar.viewControllers = [vc1, vc2, profileViewController]

doing this will cause memory leak and crash the app because am not attaching this (child)RIB to a parent RIB.

mohammad19991 avatar Aug 31 '19 11:08 mohammad19991

@mohammad19991 you may try to implement your Profile RIB as your own LaunchRouter (just name it differently) and confirm to LaunchRouting protocol. And override launch method to embed your viewcontroller into the tabbar.

dev4jam avatar Sep 09 '19 06:09 dev4jam