Question

Hey guys, I'm trying to add a textfield.text entry to an array. I want to pull the textfield.text from a text field in another view. Here's my 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];

}

The NSLog says the mainView.addressTextField.text is (NULL). What am I doing wrong?

Was it helpful?

Solution

The problem I think is you want the text written in the textfield of a view controller which is existing in your view hierarchy, so you should get the reference of that view controller.

But in the case of yours you are not getting the reference of an existing object, rather you are making a new object

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

which is not the instance which has text in its textfield.

Hope this helps.

Thanks,

Madhup

OTHER TIPS

I would have to see the - (id)init method, but at first sight, it looks like addressTextField is a nil ivar, thus your nslog is correct.

How did you generate the text field? Was it generated programmatically, or with a xib file? If it was in a xib file, you should call initWithNibName:bundle:

The text property of an UITextField in nil by default. So if there is no text in it, it should actually be nil.

Documentation

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top