Ir para conteúdo
  • Cadastre-se
Entre para seguir isso  
Rai Medeiros

Atualizar duas View Controller ao mesmo tempo

Posts Recomendados

Olá pessoal!

Estou começando agora com o desenvolvimento para iOS e estou com uma dúvida... Na verdade pode ser apenas a forma errada que estou fazendo, então podem me corrigir se eu falar alguma bobeira :P

Estou fazendo um app bem simples que tem duas ViewController. Na primeira view (calculo) há alguns inputs que, quando modificados, alteram o valor de um label de resultado.

Até aí ok. O problema é que na view de cálculo há um botão que chama a view de detalhe. Nessa view (detalhe) eu queria que já trouxesse o resultado da view anterior.

As duas views estão usando a mesma classe. Tentando atualizar o label da view de resultado, o XCode não me retorna nenhum erro, mas também não atualiza a label.

Alguém sabe alguma forma de fazer isso? Talvez alguma forma de chamar passando um parâmetro?

Obrigado e desculpem se estiver fazendo algo muito errado! hahahahah :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí Thiago - valeu pela resposta!

Então, na verdade eu já tenho uma property para receber o valor do cálculo, mas não estou conseguindo atribuir. Quando eu verifico no log, a property da outra View fica sempre nula (Talvez algo referente a desalocamento pq a view não está em uso?)

O que eu estava tentando fazer era atribuir o valor do resultado da view de cálculo para a view de detalhamento, mas ela sempre fica nula.

E o mesmo acontece quando vou para a view de detalhe, os valores da view de cálculo tornam-se nulos.

O que eu precisava era conseguir manter esse valor de alguma forma entre a navegação das Views

Compartilhar este post


Link para o post
Compartilhar em outros sites

Põe código aí pq ainda não conseguir visualizar direito o q vc está fazendo. Há um jeito simples de fazer isso q vc está fazendo, caso eu tenha entendido, que é com Storyboards. Quando vc aperta o botão, vc passa o resultado como parâmetro para a próxima tela e pronto. Se os seus dois ViewControllers são coisas diferentes, o ideal é que eles sejam representados por classes diferentes... isso é apenas a minha sugestão. Isso faz parte das boas práticas de programação.

Caso, vc não queira fazer isso, acho q o problema é que vc não está fazendo a ligação correta da sua property... pelo IB vc facilmente consegue conectar a sua property com algum elemento visual com ctrl + arraste para o seu código (no .h). Ainda não sei se esse é realmente o seu problema. De qualquer forma aí segue um exemplo:

- (NSString*)fazCalculo:(TipoParametro)x {

// faz o calculo aqui

return [NSString stringWithFormat:@"Resultado: %d", resultadoCalculado];

}

... em algum lugar, vc chama o método acima para preencher o label ...

self.myLabel.text = [self fazCalculo:myX];

... mas para q esse resultado seja exibido na tela, esse myLabel tem que estar ligado a um label na sua interface.

Dê mais detalhes aí para ver se a gente ajuda.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa sua property provavelmente é direto o outlet pra UILabel, acontece que vc está setando o valor antes que a view tenha sido carregada e portanto, o UILabel ainda nao foi instanciado.

Troque essa property de UILabel por um NSString ou NSNumber. Sete o valor nele e na classe Detalhe, no evento viewDidLoad vc seta o texto do label como sendo o valor dessa nova property.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder este tópico…

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Limpar editor

×   You cannot paste images directly. Upload or insert images from URL.

Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.



  • Conteúdo Similar

    • Por Vinícius Hudson
      Alguém sabe como remover as labels (nomes) dos apps no dock do macOS Sierra? Uso um macbook air de 11 e ocupado um espaço desnecessário. Todas as soluções que encontrei na internet são para sistemas antigos (snow leopard).
       
  • Estatísticas do Fórum

    • Total de Tópicos
      48.660
    • Total de Posts
      415.785
×
×
  • Criar Novo...