Проблема получения textfield.text из другого контроллера представления - PullRequest
0 голосов
/ 28 марта 2010

Эй, ребята, я пытаюсь добавить запись textfield.text в массив. Я хочу вытащить textfield.text из текстового поля в другом представлении. Вот мой код

- (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];

}

NSLog говорит, что mainView.addressTextField.text равен (NULL). Что я делаю не так?

Ответы [ 4 ]

2 голосов
/ 29 марта 2010

Проблема, я думаю, заключается в том, что вам нужен текст, написанный в текстовом поле контроллера представления, который существует в вашей иерархии представлений, поэтому вы должны получить ссылку на этот контроллер представления.

Но в случае с вами вы не получаете ссылку на существующий объект, скорее вы создаете новый объект

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

, который не является экземпляром, в тексте которого есть текст.

Надеюсь, это поможет.

Спасибо

Madhup

0 голосов
/ 28 марта 2010

Как вы сгенерировали текстовое поле? Это было сгенерировано программно или с помощью файла xib? Если это было в xib-файле, вы должны вызвать initWithNibName: bundle:

0 голосов
/ 28 марта 2010

Свойство text для UITextField в nil по умолчанию. Так что, если в нем нет текста, на самом деле это должно быть ноль.

Документация

0 голосов
/ 28 марта 2010

Мне бы хотелось увидеть метод инициализации - (id), но на первый взгляд кажется, что addressTextField - ноль ивара, поэтому ваш nslog верен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...