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

StackOverflow https://stackoverflow.com/questions/2533346

Вопрос

Привет, ребята, я пытаюсь добавить запись 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).Что я делаю не так?

Это было полезно?

Решение

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

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

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

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

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

Спасибо,

Мадхуп

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top