切换到View Controller B后如何保持View Controller A的状态?

时间:2013-09-29 07:48:17

标签: ios view controller push

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

2 个答案:

答案 0 :(得分:0)

  

我的印象是我需要创建View Controller A的新实例,然后推送该View Controller。

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

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

如果您要呈现模态视图控制器,原理是相同的。 present...将B放在A的顶部。dismiss...将删除B并将您带回原来的A.

答案 1 :(得分:0)

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

示例

presentviewcontroller ...... ..

做点什么

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

所以变量就像      NSString * c = @“YES”;    将会消失,但

properties such as 

  @property (nonatomic,strong)   *c;

will retain whatever value you have placed in it.  

这是你的问题吗?