在不使用核心数据的情况下,在 segue 之后保存并记住 UIElement 值?
Posted
技术标签:
【中文标题】在不使用核心数据的情况下,在 segue 之后保存并记住 UIElement 值?【英文标题】:Save and remember UIElement values after segue without using core data? 【发布时间】:2014-02-20 09:52:41 【问题描述】:我有一个迷你锻炼应用程序,根是 UITableViewController
和每个单元格 segues
到一个特定的 TVC,它有自己的特定设置,由 UISliders 和 UISegmented Controls 表示(如图所示)。
当然,当我导航回根控制器并再次返回特定单元格锻炼时,UIElements 会忘记之前输入的值。
但是,设置实体和属性似乎不是记住 UISettings 的最有效方式?我应该使用encoder decoder
,写入文件吗?
必须有一种有效的方法来做到这一点。谢谢。
【问题讨论】:
【参考方案1】:首先创建一个对象,可以任意命名,例如UIValues
。
让这个对象有你想保存的属性:
@property (assign) CGFloat pushupsToday;
....
创建此对象并对其进行强引用。例如在您的appDelegate
或您的RootViewController
。
当您尝试推送新的 viewController 示例newViewController.uiValues = self.uiValues.
时,让您的 viewController 共享此对象
如果您想将此值保存到光盘,则必须对值进行编码和解码。
【讨论】:
因为我有多个锻炼例程,你会说编码和解码比在 Core Data 中设置属性更好的方式来保存所有这些 UIValues? 我认为上下传递数据不是最好的方法 这取决于您要保存的数据量,如果您有很多,那么当然 coreData 是选择。但是无论如何,您都需要一个对象来保存值并将它们传递给 viewControllers 以更新 UI 状态。 @CescSergey 是的,我希望添加更多具有更具体 UISettings 的锻炼程序,核心数据是要走的路,谢谢。以上是关于在不使用核心数据的情况下,在 segue 之后保存并记住 UIElement 值?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 Segue 的情况下在单独的 UIViewController 中选择实例变量
仅在不切换 viewControllers 的情况下 Segue 动画