Rai Medeiros Postado 29 de dezembro de 2012 Denunciar Compartilhar Postado 29 de dezembro de 2012 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 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Thiago D. Chiarato Postado 30 de dezembro de 2012 Denunciar Compartilhar Postado 30 de dezembro de 2012 Boa Noite Rai, Faz o seguinte, na sua View de detalhe, cria uma Property que receberá o valor do calculo. Quando você instanciar a View Detalhe (para ser exibida), basta você valorizar esta property com o resultado do calculo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Rai Medeiros Postado 31 de dezembro de 2012 Autor Denunciar Compartilhar Postado 31 de dezembro de 2012 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Hugo Vellozo Postado 8 de janeiro de 2013 Denunciar Compartilhar Postado 8 de janeiro de 2013 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
AlexandreRP Postado 11 de janeiro de 2013 Denunciar Compartilhar Postado 11 de janeiro de 2013 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.