0

我正在开发一个 iPad 应用程序,它有两个控制器,一个登录控制器和一个视图控制器。登录控制器向用户询问用户名/密码,一旦通过身份验证,视图控制器就会出现模态序列。

我已经实现了一个超时,在 20 分钟不活动后,应用程序会返回登录控制器。但是,当用户重新登录应用程序时,视图控制器的状态不会保留。

有没有办法在再次登录应用程序后将 View Controller 对象传回 Login Controller 以供重用?有没有更好的方法来管理状态?

4

2 回答 2

0

想到了两种可能...

您可以将模型对象创建为“单例”或可能由应用程序委托拥有,并从视图控制器更新它,并在视图控制器的视图出现时从中读取。

另一种选择是将视图控制器作为应用程序的根控制器,将登录控制器作为模态覆盖。

于 2013-11-11T20:17:47.800 回答
0

您的评论“管理状态”是您寻求的答案。

如果您想保存关于您的视图控制器的可更改内容,则在它们更改时保存它们(在 NSUserDefaults 或 CoreData 或其他一些持久存储中)并在 ViewController 调用 viewDidLoad 时填充它们。

在 AppDelegate 级别存储整个 UIViewController 只是为了保留少量值可能非常浪费,并且如果应用程序终止,则对您毫无帮助。由于这个和许多其他原因,你最好的选择是遵循 MVC 并使你的模型成为一个持久存储来提供视图。

于 2013-11-11T20:19:56.247 回答