1

有一个快速的问题:

我有 2 个视图控制器及其关联的视图。

第一个 VC 有通过掩码着色的图像。这是我将使用的技术的链接。

第二个 VC 和视图只是一个包含随机内容的设置屏幕。

假设这种情况:

  1. 加载第一个带有图像的VC并完成着色

    注意:着色是随机的,值不会存储在任何地方。有这么多图像,很难将所有这些随机颜色存储在变量中。

  2. 在第一个 VC 上,用户按下导航到设置屏幕的按钮

  3. 现在通过模态操作加载第二个 VC

  4. 在第二个 VC 上,用户按下“返回”按钮以返回到前一个 VC,在这种情况下是第一个 VC。

问题:在导航期间和导航回第一个 VC 之后,我以编程方式随机选择的图像和颜色是否仍然可见,或者我会丢失那些随机生成的颜色?如果不是,我如何确保在 First VC 上呈现的内容将在任何导航操作中保持不变?

4

2 回答 2

1

只要 View Controller 留在导航堆栈上,它所保存的所有数据在您返回时仍然有效。将任意数量的视图控制器推送到堆栈顶部不会对第一个视图控制器执行任何操作,但是一旦您将第一个视图控制器从堆栈中弹出,它将丢失它拥有的所有数据,除非以其他方式保存并重新加载(在变量中例如,在 App Delegate 中)。

于 2013-01-04T18:53:25.277 回答
1

除非您释放第一个视图,否则您不会丢失您创建的图像。由于您在第一个视图之上显示第二个视图,因此所有图像都将在那里。您不必担心保存颜色或图像。您可以在第一个视图控制器上推送任意数量的视图控制器。

请注意,这仅在您不删除/弹出/关闭第一个视图控制器或其视图时才有效。

于 2013-01-04T18:53:34.037 回答