문제

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?

도움이 되었습니까?

해결책

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

다른 팁

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top