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

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

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
      50.305
    • Total de Posts
      425.361
×
×
  • Criar Novo...