Problem bekommen TextField.text von anderen View-Controller
-
22-09-2019 - |
Frage
Hey Jungs, ich versuche, einen TextField.text Eintrag zu einem Array hinzuzufügen. Ich mag die TextField.text aus einem Textfeld in einer anderen Ansicht ziehen. Hier ist mein 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];
}
Die NSLog sagt die mainView.addressTextField.text ist (NULL). Was mache ich falsch?
Lösung
Das Problem, das ich glaube, ist, dass Sie den Text in dem Textfeld eines View-Controller geschrieben wollen, das aus Ihrer Sicht Hierarchie vorhanden ist, so sollten Sie den Bezug dieses View-Controller erhalten.
Aber im Fall von Ihnen Sie nicht die Referenz eines vorhandenen Objekts erhalten, sondern Sie machen ein neues Objekt
MultiViewViewController *mainView = [[MultiViewViewController alloc] init];
, die nicht die Instanz, den Text in seinem Textfeld hat.
Hope, das hilft.
Danke,
Madhup
Andere Tipps
Ich würde, um zu sehen haben. - (id) init-Methode, aber auf den ersten Blick sieht es aus wie ein addressTextField nil Ivar ist, damit Ihr NSLog korrekt ist
Wie haben generieren Sie das Textfeld? War es programmatisch oder mit einer xib Datei erzeugt? Wenn es in einer xib Datei ist, sollten Sie initWithNibName nennen: bundle:
Die text
Eigenschaft eines UITextField in Null standardmäßig. Also, wenn es keinen Text es ist, es sollte eigentlich gleich null.