如何在切换到另一个视图并返回到同一视图后保留这些值?
即使视图消失,有没有办法保留数组?
My Array第一次在控制台中显示值,但第二次从其他视图返回时,数组显示(null)
修改
我正在使用这个数组将它用于我的核心情节。
此数组包含核心图
的绘图点答案 0 :(得分:3)
一般来说,您有几个选项可以维护视图之间的数据持久性。没有特别的顺序:
在视图之间来回传递数组。这涉及在每个视图上创建属性并进行设置。您可以直接使用属性,但可以更轻松地使用NSNotifications传递数据。
将数据存储在Core Data中,根据需要延迟加载。这是最强大的选择,可能有点多。核心数据不是“在视图之间传递数据”的正确方法,但通常可能是您需要的。作为额外的奖励,您的数据可以在应用启动时保存。
将数据存储在您的代理中。这类似于使用NSNotofications。所有对象都可以比在整个地方相互传递引用更容易地访问委托。
假设您的数据兼容,请将数组存储在NSUserDefaults中。这类似于Core Data,它提供持久性,但更“轻量级”且功能更弱。请注意,某些对象与NSUserDefaults不兼容。
修改:
对于存储点数组,我会将其序列化为Core Data或NSUserDefaults,具体取决于用户与数据的交互方式以及实际存在的数据量。如果点数经常变化并且有很多点,请查看核心数据。虽然,你可以在NSUserDefaults中使用数组做得很好。你最终会做更多的数组操作。