Domanda

Ciao ragazzi, sto cercando di aggiungere una voce TextField.text a un array. Voglio tirare il TextField.text da un campo di testo in un altro punto di vista. Ecco il mio codice.

- (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];

}

Il NSLog dice che il mainView.addressTextField.text è (NULL). Che cosa sto facendo di sbagliato?

È stato utile?

Soluzione

Il problema che penso è che si desidera che il testo scritto nel campo di testo di un controller della vista che è esistente nella gerarchia vista, così si dovrebbe ottenere il riferimento di tale controller della vista.

Ma nel caso del tuo non si è trovato il riferimento di un oggetto esistente, piuttosto si sta realizzando un nuovo oggetto

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

, che non è l'istanza che ha il testo nel suo campo di testo.

Spero che questo aiuti.

Grazie,

Madhup

Altri suggerimenti

avrei dovuto vedere il -. (Id) metodo init, ma a prima vista, sembra che addressTextField è un ivar nullo, così il vostro NSLog è corretto

Come hai fatto a generare il campo di testo? Era generato a livello di codice, oppure con un file XI ter? Se fosse in un file XI ter, si dovrebbe chiamare initWithnibName: bundle:

La proprietà text di un UITextField a zero per impostazione predefinita. Quindi, se non v'è alcun testo in esso, dovrebbe in realtà essere pari a zero.

Documentazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top