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?

War es hilfreich?

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.

Dokumentation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top