Caso de uso com 2 maneiras para a mesma ação

Questão 1: Qual é a maneira correta de criar um Caso de Uso (ou mais de um) com 2 maneiras de executar a mesma ação?

Por exemplo:

Eu tenho três telas em um aplicativo iOS:
1. Uma visualização de mapa, que pode ser "pressionada" e possui um botão de câmera.
2. Uma visualização da câmera, mostrada se o usuário tocar no botão da câmera na visualização do mapa.
3. Uma visualização de edição de local / alfinete, que é mostrada se o usuário pressiona longamente a visualização do mapa ou depois que o usuário escolhe uma foto na visualização da câmera. Essa visualização de edição possui um botão salvar para criar o local com uma foto e o local (coordenada de pressão longa ou local atual, caso o botão da câmera tenha sido pressionado).

Título: Criar local Fluxo básico:
1. Pressione e segure o usuário no mapa.
2. O aplicativo solta um alfinete temporário e exibe a visualização de edição do local.
3. O usuário edita as informações do local e pressiona o botão Salvar.
4. App cria o local e salve-o.

Título: Criar local Fluxo básico:
1. O usuário pressiona o botão mais.
2. O aplicativo exibe a visão da câmera.
3. O usuário tira uma foto.
4. App cria lugar com localização atual e imagem.

ATUALIZAÇÃO com base nos comentários trocados com bhavik.

Questão 2: (Com base na resposta de bhavik)
Portanto, não preciso de um apresentador para um interator com precisão, posso ter 1 interator e 3 apresentadores / visualizações.

No meu caso, eu deveria ter um apresentador / visualização para o mapa, que é onde ele começa,
então eu deveria ter um apresentador / visualização para a câmera, caso o usuário toque no botão da câmera
e um apresentador / visualização para a visualização de edição, caso o usuário "pressione e segure" ou depois que o usuário escolhe a foto no apresentador / visualização da câmera e é redirecionado para a mesma visualização de edição.

Isso está correto?

Questão 3: Meus métodos de limite para o interator devem sempre retornar nulos?
No exemplo de bhavik, eles estão retornando algo, mas noBlog VIPER eo vídeo do tio Bob eles sempre retornam nulos e o resultado vem na forma de outro método de fronteira que o interator chama no apresentador / controlador.

Pergunta 4: A maneira VIPER não usa um controlador, apenas um apresentador para conversar com o interator, quando o vídeo do tio Bob usa um controlador e um apresentador para diferentes interações com o interator. Qual abordagem devo adotar?

Pergunta 5: Se meu Caso de Uso for algo como "Ir para outra tela", ele deve ter um interator? Como a visualização atual informa ao apresentador qual botão foi pressionado (para qual visualização ir) e esse apresentador atual informa ao seu wireframe "mude para esse outro wireframe".

questionAnswers(4)

yourAnswerToTheQuestion