1

我正在制作一个应用程序,在切换到视图控制器 B 后,我需要视图控制器 A 的地图处于相同状态。但是,我不知道如何切换视图以查看相同状态?这意味着当我从视图控制器 B 切换回视图控制器 A 时,我的印象是我需要创建视图控制器 A 的新实例,然后推送该视图控制器。但是,这意味着我在第一次加载时丢失了所有实例数据。如何保存我第一次进入该视图时的数据?

4

2 回答 2

0

您需要了解,当您从一个视图控制器移动到下一个视图时,新视图不会显示,直到您将控制权返回给 IOS(或者您已经退出该方法)。

例子

现在视图控制器 .....

做一点事

返回; -> 您的新视图控制器仅在此语句之后获得控制 }

所以像 NSString *c = @"YES"; 这样的变量 会消失,但是

properties such as 

  @property (nonatomic,strong)   *c;

will retain whatever value you have placed in it.  

这是你的问题吗?

于 2013-09-29T08:19:03.567 回答
0

我的印象是我需要创建视图控制器 A 的新实例,然后推送该视图控制器。

绝对不。假设您正在使用导航控制器,并且您已推送控制器 B,只需将其弹出(popViewController:在导航控制器上)即可返回到 A 的原始实例。

创建 A 的新实例似乎是个坏主意,因为它会导致导航堆栈无限高。

如果你展示的是模态视图控制器,原理是一样的。present...将 B 放在 A 之上。dismiss...将删除 B 并带您回到原来的 A。

于 2013-09-29T08:01:51.240 回答