我正在编写一个应用程序,其中包含一个分布在多个ViewControllers上的表单和一个带有提交按钮的主菜单,它打开一个电子邮件,其中显示文本字段数据,我唯一的问题是文本盒子不要记得'在表单的各个部分之间切换时,他们写了什么。我已经查看了有关持久数据的线程但没有发现任何内容。我希望我的应用程序能够记住在视图之间切换时在文本字段中输入的内容,以便它可以使用数据填充电子邮件,然后忘记'当用户最小化应用程序时,数据再次出现。任何建议或代码都将非常感激。
答案 0 :(得分:0)
因此,创建一个数据模型单例并让视图控制器从该单例的属性读取/写入它们的值。
(在viewWillAppear中,获取指向模型单例的指针,并将单例属性的值安装到VC的字段中。当用户更改字段中的值时,让VC修改单例的相应属性。
您可以编写单个单元来监听“将进入后台”通知并将其设置存档到磁盘,并使其初始化方法尝试从磁盘读取已保存的值(或者将值设置为已定义的起始状态(如果有)从未设定过)。您可以使用NSUserDefaults,NSCoding或其他各种方法来存档数据。
答案 1 :(得分:0)
有很多选项可以保留数据。我目前偏爱Realm,但之前我使用的是Core Data,YapDatabase,甚至只是serializing objects to disk。请注意,如果这是您第一次尝试在iOS上保存数据,我强烈建议您避免使用Core Data,因为它非常复杂并且功能丰富(在您熟悉它之前也很难正确使用)。我建议你先自己序列化对象,然后是Realm或YapDatabase。
答案 2 :(得分:-1)
你应该创建一个单独的NSObject
类并在该类中保存数据......因为单例对象保存数据直到应用程序终止。