UITextFields在UINavigationController活动后丢失值

时间:2010-06-10 13:09:28

标签: iphone uinavigationcontroller uitextfield

这很难在代码中展示,但也许你可以用它来描绘它。

我的视图包含两个UITextFields,“title”和“descr”。该视图包含两个UIButtons,它们将另一个控制器推送到navController,以便从用户那里获得有关我们正在组装的对象的更多详细信息,并最终上传到我的服务器。

似乎推送另一个视图,执行某些操作并将其弹回,导致两个UITextField保持其内容VISUALLY,但这些字段的.text属性变为NULL。我已经确认,如果我在填写UITextField之前执行了两个push-pop字段,我上传时会得到数据,如果按相反的顺序执行,我就不会。它看起来就像那里的数据一样,但是当我NSLog他们的.text属性时我什么都没得到。

这是正常的吗?我需要围绕这个设计吗?或者这看起来很奇怪,我应该更深入地研究这个原因?

2 个答案:

答案 0 :(得分:1)

我打赌你放弃了对文本字段的引用。

尝试检查两件事:

  • 检查除文本外是否还有其他内容(例如颜色,字体,文本对齐方式) - 可能文本视图为nil
  • 尝试在push-pop之后在文本字段中写入内容,然后查看是否有.text属性

答案 1 :(得分:0)

我花了一些时间才回到那里(随着发布日期临近,我的大堆bug变得越来越小了!),但我想通了。在viewWillAppear上,我在这些字段所在的表上执行了reloadData,这就是重置我的表单字段。我在reloadData调用之前隐藏了我的数据,并在tableView:cellForRowAtIndexPath:方法中重新填充它们,我们是黄金。