【发布时间】:2014-04-28 11:58:50
【问题描述】:
我目前正在开发一个带有故事板的多视图应用程序。在每个视图中,用户可以输入数据,通常通过文本框或按钮输入。然后将这些数据存储在数组中。
我的问题是:当我转移回一个窗口时,viewDidLoad 被调用,因此重置了所有数据。是否有一种简单的方法(无需简单地加载我的数组备份)来保留这些数据,就好像没有调用 viewDidLoad 一样?是否有在加载应用程序时调用的方法,而不仅仅是视图?或者也许是第一次只调用viewDidLoad 的方法?
我知道我可以通过加载我的数组来解决这个问题,我只是想知道是否有更简单、更优雅的解决方案。
编辑:
似乎每次我转到另一个视图时都会触发我的视图加载。我正在使用故事板segues。
【问题讨论】:
-
在core data中存储之前是否加载过,在viewdidload中查看
-
我以前从未使用过核心数据。我该怎么做?
-
如果你的数据结构很简单,你可以使用
NSUserDefaults或 plists。 -
如果你需要经常访问你的数组并且它不是很大,你可以为它创建一个单例管理器。 (鉴于内容不需要持久化)
-
ViewDidLoad 正是您正在寻找的功能。不像例如ViewDidAppear,它应该只被调用一次,当你的视图第一次加载时。因此,可能您正在创建视图的新实例(例如,如果您调用另一个 segue 而不是展开或弹出),或者您的视图由于其他原因从内存中卸载。
标签: ios objective-c uistoryboard viewdidload