views:

213

answers:

4

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?

A: 

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.

A: 

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:

zonble
The text field was generated using a nib. I'm at a loss for how to get the current text in a text field from another view. Could someone please post some sample code for how to do this in it's basic form? or a link of where I should be headed. Thanks.
DysonApps
A: 

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

Documentation : http://tinyurl.com/ybbatch

Rengers
+2  A: 

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

Madhup