Pergunta

estou desenvolvendo um aplicativo que teria muitas subvisões, como o fluxo de instagram e picyou tipo de aplicativo de rede social, o fluxo é imagem-> imagem detalhada-> qualquer comentário-> nome de usuário-> seguinte-> nome de usuário-> nome de usuário da imagem-> imagem-> imagem detalhada-> qualquer comentário-> nome de usuário-> seguinte-> nome de usuário -> nome de usuário da imagem-> caramba, isso é infinito nunca para .....

e nunca recebe aviso de memória ou trava por problema de memória...

estou usando o controlador de navegação, mas mesmo assim, depois de algum tempo de navegação, alterando alguns viewcontrollers, ocorre um erro como este *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<ViewController: 0x6d97110>)'

eu quero fazer o mesmo ao pressionar voltar, você também receberá todos os dados de volta.você tem alguma ideia de como fazer assim.?

Foi útil?

Solução

UINavigationController suporta automaticamente esse comportamento que você está descrevendo.Memória eficiente e potencialmente infinita.Cada vez que você quiser passar de uma parte do seu aplicativo para outra, basta usar um código semelhante a este.

ViewController *vc = [[ViewController alloc] init];
//customize ViewController
[self.navigationController pushViewController:vc animated:YES];

Portanto, se você quiser passar de uma foto para uma visualização de detalhes da foto, basta pressionar o controlador de visualização de detalhes da foto quando o botão for pressionado.Mesmo que você já esteja em um controlador de visualização de detalhes de fotos, você pode enviar outro dessa classe.Apenas certifique-se de criar uma instância separada.A julgar pelo seu erro, acho que esse é o seu problema agora.

Também achei melhor criar um inicializador personalizado para esses tipos de controladores de visualização.Para ver os detalhes da foto, use algo como.

-(id)initWithPhoto:(Photo*)photo;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top