Slide 1

Slide 1 text

FLOW CONTROLLER REVISITED OLIVIER COLLET. COCOAHEADS MONTREAL. 09.02.2016

Slide 2

Slide 2 text

FIRST & LAST NAME EMAIL & PASSWORD PHOTO

Slide 3

Slide 3 text

GIVE YOUR APP A BRAIN

Slide 4

Slide 4 text

A FLOW CONTROLLER PREVENTS VIEW CONTROLLER DEPENDENCIES

Slide 5

Slide 5 text

A FLOW CONTROLLER MANAGES THE LOGIC BETWEEN VIEW CONTROLLERS

Slide 6

Slide 6 text

A FLOW CONTROLLER ORCHESTRATES THE VIEW CONTROLLERS

Slide 7

Slide 7 text

A FLOW CONTROLLER CAN HANDLE A PORTION OF THE APPLICATION

Slide 8

Slide 8 text

A FLOW CONTROLLER KEEPS A PORTION OF THE APPLICATION’S STATE

Slide 9

Slide 9 text

APP DELEGATE LAUNCH FC MAIN FC SUBSCRIPTION FC ON-BOARDING FC AUTHENTICATION FC

Slide 10

Slide 10 text

protocol FlowControllerDelegate { func flowControllerDidFinish(flowController: FlowController) } class FlowController: UIResponder, UIApplicationDelegate { var childFlowController: FlowController? var delegate: FlowControllerDelegate? var parentViewController: UIViewController? var currentViewController: UIViewController? } class NavigationFlowController: FlowController, UINavigationControllerDelegate { var navigationController: UINavigationController! } FlowController NavigationFlowController class TabBarFlowController: FlowController, UITabBarControllerDelegate { var tabBarController: UITabBarController! } TabBarFlowController

Slide 11

Slide 11 text

Links • Sample code:
 https://github.com/ocollet/Flow-Controller • Blog post:
 http://ocollet.com/2014/02/06/flow-controller/

Slide 12

Slide 12 text

Olivier Collet http://ocollet.com @ocollet