package Ġexample Ċ Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . Internal Cor outines Api Ċ import Ġorg . chr ish at ton . example . ui . First Presenter Ċ import Ġorg . chr ish at ton . example . ui . Presenter Contract Ċ import Ġorg . chr ish at ton . example . ui . View Contract Ċ Ċ /** Ċ Ġ* ĠWe Ġwould Ġprefer Ġto Ġuse Ġa ĠBase ViewController Ġbut Ġ' Non - final ĠKotlin Ġsubclasses Ġof ĠObjective - C Ġclasses Ġare Ġnot Ġyet Ġsupported ' Ċ Ġ* ĠTODO : ĠRefactor Ġif / when Ġthis Ġfeature Ġbecomes Ġavailable Ċ Ġ* ĠUsing Ġthis Ġfor Ġnow Ġto Ġsatisfy Ġ* some * ĠUI ViewController Ġboilerplate . Ċ Ġ*/ Ċ @ Experimental Cor outines Api Ċ @ Internal Cor outines Api Ċ abstract Ġclass ĠBase View Adapter < ĊĠĠĠĠĠĠĠ ĠSelf : Base View Adapter < Self , VC , PC >, ĊĠĠĠĠĠĠĠ ĠVC : ĠView Contract < PC , ĠVC >, ĊĠĠĠĠĠĠĠ ĠPC : ĠPres enter Contract < VC , ĠPC > ĊĠĠĠ Ġ> Ġ: ĠView Contract < PC , ĠVC > Ġ{ ĊĊĠĠĠ Ġfun Ġview Will Ap pear ( animated : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Yo Ġd aw g ") ĊĠĠĠĠĠĠĠ Ġval Ġsome Presenter Ġ: ĠPC Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġprintln (" What Ġup ĠG ") ĊĠĠĠĠĠĠĠ Ġsome Presenter . on Attach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġview Did Dis appear ( animated : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Detach () ĊĠĠĠ Ġ} Ċ }