Pergunta

Ei pessoal, estou tentando adicionar uma entrada de textfield.text a uma matriz. Eu quero puxar o campo de texto.Text de um campo de texto em outra visualização. Aqui está o meu código.

- (void)addBookmark{

MultiViewViewController *mainView = [[MultiViewViewController alloc] init];
if (mainView.addressTextField.text.length>1) {

NSString *addedString = [[NSString alloc] initWithFormat:@"%@", mainView.addressTextField.text];
[bookmarksArray addObject:addedString];
NSLog(@"addBookmark being called %@", mainView.addressTextField.text);
}
[bmTableView reloadData];

}

O NSLog diz que o MainView.AddressTextfield.text é (nulo). O que estou fazendo errado?

Foi útil?

Solução

O problema que acho que você deseja que o texto escrito no campo de texto de um controlador de exibição que exista em sua hierarquia de visualizações, para que você obtenha a referência desse controlador de exibição.

Mas no seu caso, você não está obtendo a referência de um objeto existente, mas está fazendo um novo objeto

MultiViewViewController *mainView = [[MultiViewViewController alloc] init];

Qual não é a instância que possui texto em seu campo de texto.

Espero que isto ajude.

Obrigado,

Madhup

Outras dicas

Eu teria que ver o método - (id) init, mas à primeira vista, parece que o endereçotextField é um Nil Ivar, portanto o seu NSLog está correto.

Como você gerou o campo de texto? Foi gerado programaticamente ou com um arquivo XIB? Se estiver em um arquivo XIB, você deve ligar para initWithnibName: pacote:

o text Propriedade de um Uitextfield em NIL por padrão. Portanto, se não houver texto nele, ele deve realmente ser nulo.

Documentação

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top