2010-06-10 2 views
0

Это будет трудно продемонстрировать в коде, но, возможно, вы можете просмотреть его со мной.UITextFields теряют значения после операции UINavigationController

У меня есть представление, которое содержит два UITextFields, «title» и «descr». Тот же вид содержит два UIButtons, которые нажимают другой контроллер на navController, чтобы получить более подробную информацию от пользователя об объекте, который мы собираем, и, в конечном счете, загружать на мой сервер.

Похоже, что нажатие другого вида, выполнение чего-либо и выталкивание его обратно приводит к тому, что два UITextFields сохраняют свой контент VISUALLY, но свойство .text этих полей становится NULL. Я подтвердил, что если я заполняю два поля push-pop перед заполнением этих UITextFields, я получаю свои данные при загрузке, и если я их делаю в обратном порядке, я этого не делаю. СМОТРЕТЬ, как там есть данные, но я ничего не получаю, когда я NSLog их свойства .text.

Это нормально? Нужно ли мне просто конструировать вокруг этого? Или это так странно, как кажется, и я должен смотреть глубже на причины этого?

+0

Что именно означает «что-то делать»? Если это что-то, что занимает много памяти, ваш контроллер навигации может уничтожать и воссоздавать UITextFields - у вас могут быть указатели на старые объекты в вашем первом ViewController? – deanWombourne

+0

Хорошо, но мой предупреждающий метод памяти диспетчера корневого управления не стреляет (у меня есть сообщение NSLog, тогда это сложно пропустить). –

ответ

0

Пришло время, чтобы вернуться к этому (мой BIG-стек ошибок становится все меньше по мере приближения даты выпуска!), но я догадаться. В viewWillAppear я делал reloadData в таблице, в которой были эти поля, и это сбросило мои поля формы. Я спрятал свои данные перед этим вызовом reloadData и повторно заполнил их в методе tableView: cellForRowAtIndexPath: и мы золотые.

1

Держу пари, что вы теряете ссылки на текстовые поля.

Попытка проверить 2 вещи:

  • Проверьте, если у вас есть что-нибудь, кроме текста (например, цвет, шрифт, выравнивание текста) - возможно представление текста ноль
  • Попробуйте написать что-то в тексте поля после push-pop, а затем посмотреть, есть ли у вас свойство .text.
Смежные вопросы