如何获取当前显示为 NSString 的视图?
Posted
技术标签:
【中文标题】如何获取当前显示为 NSString 的视图?【英文标题】:How to get the view that is currently being displayed as an NSString? 【发布时间】:2011-02-26 20:03:50 【问题描述】:我需要获取用户当前正在查看的视图的名称作为 NSString,以便将其保存,以便在用户退出我的应用程序时将其返回到此视图。截至目前,如果用户在“View4”上退出我的应用程序,例如,如果他们在之后立即启动它,我的应用程序将返回到“View1”。 附:我知道这是可能的,因为许多应用程序,例如 Tap Tap Revenge 和愤怒的小鸟,都是这样做的。您可以随时退出并返回,您所在的视图和所有内容都将被保存。
【问题讨论】:
您的应用是否启用了多任务处理?通常情况下,如果“紧接着”真的是指紧接着之后,那就没什么可做的了。 好吧,我的意思是,如果用户点击主页按钮,然后一旦应用程序关闭,他们就会再次打开我的应用程序,它会从头开始。所以我需要在他们退出之前保存他们正在查看的内容,这样他们就不会在每次打开应用程序时从 View1 开始。 正如我所说,如果设备运行 ios4 或更高版本,并且能够快速切换应用程序(也称为多任务处理),这应该会自动发生。 iOS 为您“冻结”应用程序的状态。既然你可以看到愤怒的小鸟的行为,你应该有一个操作系统版本和一个能够快速切换应用程序的设备(我的 ipod touch 2g 每次都会从头开始启动愤怒的小鸟,与 tap tap revenge 2 相同)。所以你应该检查你的 info.plist 你没有启用Application does not run in background
(UIApplicationExitsOnSuspend
)
嗯。当。我使用的是旧版本的 XCode,但我的 iPod 运行的是 iOS4。那么,在 plist 中禁用它是确保恢复相同视图的唯一方法吗?
【参考方案1】:
使用NSUserDefaults 保存视图名称。然后,当您的应用启动时,尝试从用户默认值中检索名称。
【讨论】:
对,我就是这么想的。但是如何保存他们正在查看的视图的名称?甚至,我怎么知道他们在看什么视图? 我相信你很久以前就找到了答案,但是使用 NSUserDefaults 可以很简单地通过将一些字符串写入 plist 来实现,例如 firstView 将“1”写入字符串secondView 将“2”写入字符串,然后在 applicationDidFinishLaunching 中如果 string = 1 然后 firstView ETC...当然这只是一种方法。以上是关于如何获取当前显示为 NSString 的视图?的主要内容,如果未能解决你的问题,请参考以下文章