Question

Hé les gars, je suis en train d'ajouter une entrée TextField.text à un tableau. Je veux tirer le TextField.text d'un champ de texte dans une autre vue. Voici mon code.

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

}

Le NSLog dit le mainView.addressTextField.text est (NULL). Qu'est-ce que je fais mal?

Était-ce utile?

La solution

Le problème que je pense est que vous voulez que le texte écrit dans le champ de texte d'un contrôleur de vue qui est en vigueur dans la hiérarchie de votre vue, vous devriez donc obtenir la référence de ce contrôleur de vue.

Mais dans le cas de la vôtre vous ne recevez pas la référence d'un objet existant, plutôt que vous faites un nouvel objet

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

qui n'est pas l'instance qui a le texte dans son champ de texte.

Hope this helps.

Merci,

Madhup

Autres conseils

Je dois voir -. (Id) méthode init, mais à première vue, il ressemble à addressTextField est un Ivar nul, donc votre NSLog est correcte

Comment avez-vous générer le champ de texte? At-il été généré par programme, ou avec un fichier xib? Si elle était dans un fichier xib, vous devez appeler initWithNibName: paquet:

La propriété text d'un UITextField à zéro par défaut. Donc, s'il n'y a pas de texte en elle, il devrait en fait être nul.

rel="nofollow noreferrer">

scroll top