有一个简单的问题:
我有2个视图控制器及其相关视图。
第一个VC具有通过屏蔽着色的图像。 This is a link我将采用的技术。
第二个VC和视图只是一个设置屏幕,可以保存随机内容。
假设这种情况:
加载带图像的第一个VC并完成着色
注意:着色是随机的,值不会存储在任何地方。同 如此多的图像很难存储所有随机的图像 变量中的颜色。
在第一个VC上,用户按下导航到的按钮 设置屏幕
现在通过模态操作
在第二个VC上,用户按下“返回”按钮返回 以前的VC,在这种情况下是第一个VC。
问题:在导航过程中以及导航回到第一个VC之后,我随机和编程选择的图像和颜色仍然可见或者我会丢失那些随机生成的颜色吗?如果不是,我如何确保在整个任何导航操作中都能保持在第一个VC上呈现的内容?
答案 0 :(得分:1)
只要View Controller停留在导航堆栈上,当您返回到它时,它所拥有的所有数据仍然有效。在堆栈顶部推送任意数量的View Controllers对第一个视图控制器没有任何作用,但只要你从堆栈弹出第一个,它就会丢失它所拥有的任何数据,除非另外保存并重新加载(在变量中)例如,在App Delegate中。
答案 1 :(得分:1)
除非您释放第一个视图,否则不会丢失您创建的图像。由于您在第一个视图的顶部显示第二个视图,因此所有图像都将存在。您不必担心保存颜色或图像。您可以在第一个视图控制器上推送任意数量的视图控制器。
请注意,仅当您没有删除/弹出/取消第一个视图控制器或其视图时,此选项才有效。