【问题标题】:data in text field disapearing文本字段中的数据消失
【发布时间】:2012-04-20 10:21:09
【问题描述】:

我有一个视图控制器,可以推送到同一类的另一个页面。一旦我离开新页面,输入到新页面文本字段中的所有数据都会消失。我假设我在某处错过了一步?

我是否必须将页面中的某些内容连接到我的原始视图控制器?

否则我会以这种速度有一页长。

xcode 4.3

【问题讨论】:

  • 你能分享一点代码吗?尤其是如何推送到其他 viewController?

标签: ios5 uitextfield xcode4.3


【解决方案1】:

我想我明白你在说什么。您有一个调用另一个屏幕的屏幕。您调用新屏幕并在该新屏幕上输入数据,然后导航回原始屏幕。然后你再次调用第二个屏幕,数据现在丢失了。

每次调用屏幕时,都会创建一个新的 UIViewController(或该类的子类)对象。它只知道你在创建它时和之后告诉它的内容。当您导航回原始屏幕时,新屏幕的视图控制器将被销毁并且其中的所有数据,除非您将数据存储回“模型”(MVC)或原始屏幕中。因此,如果您需要让新屏幕显示之前输入的数据,您需要将该信息存储在应用程序的“模型”或调用它的屏幕中。然后,当您调用新屏幕时,将存储的数据“推”回其中。

如果您不熟悉 Apple 模型-视图-控制器模式中的“模型”,这里是一个很好的参考。 Apple MVC

希望对你有帮助

【讨论】:

  • 是的,这正是发生的事情,感谢您的解释。我快速阅读了您链接到的 Apple 文档,并且像往常一样感到比开始时更加困惑。简单来说,我如何存储模型或原始页面的信息?我的最终目标是大概有两到三百页,而用户可以输入测试结果,每页大约有。 4 - 8 个文本字段。我认为我正在解决这个问题,因为我当前的设计是一个长页面,我链接了大约 800 个文本字段,然后编写另外 800 行代码将结果附加到电子邮件正文字符串
  • 您熟悉面向对象编程吗?如果是这样,您可以将数据存储在原始视图控制器中,方法是将对它的引用传递给新的视图控制器。然后你可以设置值。该模型涉及更多。它需要一种“方式”来存储您的数据,例如 Apple 的 Core Data 框架。如果您对面向对象编程不是很熟悉,这可能是退后一步并获得一些关于它的好书并学习如何在程序中交互对象的好时机。
  • 如果你想保存很多数据,这就是你评论中的意思。查看核心数据。它是一个 Apple 框架,旨在保存、存储和查询数据。它非常强大。
  • 谢谢 Rob,我一般是编程新手,我发现这些书很难读懂,并且发现堆栈溢出和 YouTube 宝贵的资源。我将研究核心数据,因为我需要学习这一点。感谢您花时间解释这一点。问候詹姆斯
猜你喜欢
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 2021-02-10
  • 2021-11-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多