- OCPJD 6, OCPWCD 5 - Programador iOS desde 2014 - Graduado em Sistemas de Informação pela FRB (2008) - Pós-Graduado em Desenvolvimento de Aplicativos e Games para Dispositivos Móveis pela FIAP (2015) - Contribuinte Open Source - Autor do POD York
Diogo Tridapalli. Essencialmente, aponta a necessidade de que um View Controller não deve se preocupar com o próximo View Controller. Necessidade desencadeada pela mecânica de segues: override func performSegue(withIdentifier identifier: String, sender: Any?) override func prepare(for segue: UIStoryboardSegue, sender: Any?)
da forma como os View Controllers se relacionam. Não é adequado para conter todas os View Controllers de um Projeto. No início, efeito colateral de se poder ter apenas um Storyboard para o projeto inteiro. Após iOS 9, passou a possibilitar múltiplos Storyboards em um mesmo projeto.
de segues diretamente. Possibilita que os View Controllers sejam criados externos ao Storyboard, e este seja utilizado apenas para o fluxo. Facilmente feito ao se deletar a root view. Sim, apenas isso mesmo. Porém, ainda impõe o uso de segues. UIViewControllerProxy não suporta ser nomeado (Identity/Storyboard ID).
é um View Controller. O Flow Coordinator é o delegate de todos os View Controllers envolvidos no fluxo que ele coordena. O Flow Coordinator executa as segues e injeta os valores adequados a cada View Controller. O View Controller não precisa conhecer o fluxo ou os demais View Controllers envolvidos.
.xib - externos aos Storyboards no qual são utilizados. Foi utilizado um Storyboard para cada Flow. Um Flow principal, “NewUserFlow”, pode iniciar um dos seguintes SubFlows: “NewUserPFFlowCoordinator” Se for selecionado “Pessoa Física" “NewUserPJFlowCoordinator" Se for selecionado “Pessoa Jurídica"
SubFlow é meramente conceitual. Cada FlowCoordinator possui seu Storyboard. NewUserFlowCoordinator : NewUserFlow.storyboard NewUserPFFlowCoordinator : NewUserPFFlow.storyboard NewUserPJFlowCoordinator : NewUserPJFlow.storyboard NewUserPFFlowCoordinator e NewUserPJFlowCoordinator compartilham os View Controllers UserAddressViewController e UserConfirmationViewController.