【问题标题】:Saving Array content over two view controllers在两个视图控制器上保存数组内容
【发布时间】:2012-02-02 08:00:34
【问题描述】:

我在这里有一个稍微令人困惑的问题。我正在使用情节提要我有一个选项卡视图控制器选项卡 1 有一个表视图控制器(表 1),它在选择一行时转到表 2,并且一些数据被添加到表 2 中,当它显示在表 2 单元格时我导航回表 1 并再次前进到表 2,数据丢失..我如何保存数据,以便它仍然可以显示保存的内容。谢谢

【问题讨论】:

  • 我不明白这个问题...请尝试使用正确的英语和标点符号。
  • 看到我有一个带有选项卡控制器的导航。在第一个选项卡上我有一个 tableview(table1),它在选择时转到表 2。在表 2 上我可以添加行但我导航回到 table1 n den 再次在 table2 上前进,他们走了 n 我的桌子是空白的

标签: uitableview delegates storyboard uitabview


【解决方案1】:

听起来您需要固定的数据存储。您可以为此使用 Apple 的核心数据。请参阅 Apple 有关 Core Data 的文档或参阅 Michael Privat 的“Pro Core Data for iOS”。然后每个视图控制器都可以从永久存储中存储和检索数据。请注意,学习核心数据需要付出一些努力,但这是值得的,因为您会发现自己一次又一次地使用它。我还遇到了这个项目arraydatatable,它提供了一个结构化数据解决方案,而不使用核心数据。此外,由于您提到您是 iOS 新手,因此您应该阅读 Apple 关于其推荐的模型视图控制器 (MVC) 结构的文档。在这种结构中,模型是您的数据,视图是您在屏幕上看到的内容,控制器控制视图以及获取数据并将数据存储到模型中。

【讨论】:

    【解决方案2】:

    这是因为当您从表 2 回到表 1 时,导航控制器释放了第二个视图控制器。如果没有其他对第二个表视图的引用,它将被释放。我想您每次在表 1 中选择一行时也会创建表视图。尝试在第二个表视图上保留引用,而不是每次都重新创建它,仅在初始化时。

    【讨论】:

    • 你可以使用一个,但你说的是什么代表?当您创建导航控制器时,大概在您的 application:didFinishLaunchingWithOptions: 方法中,保留对您的第二个表视图的引用。更好的是,子类化导航控制器,并让第二个表视图成为它的@property,在导航控制器的 -init 或 -viewDidLoad 方法中创建它,并在 -dealloc 中释放它。
    • 还没有解决..可以总结一个解释代码(对不起,我是iOS编程新手)
    猜你喜欢
    • 2013-03-12
    • 2017-01-26
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多