【问题标题】:How to get the view that is currently being displayed as an NSString?如何获取当前显示为 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 中禁用它是确保恢复相同视图的唯一方法吗?

标签: iphone xcode ios uiview nsstring


【解决方案1】:

使用NSUserDefaults 保存视图名称。然后,当您的应用启动时,尝试从用户默认值中检索名称。

【讨论】:

  • 对,我就是这么想的。但是如何保存他们正在查看的视图的名称?甚至,我怎么知道他们在看什么视图?
  • 我相信你很久以前就找到了答案,但是使用 NSUserDefaults 可以很简单地通过将一些字符串写入 plist 来实现,例如 firstView 将“1”写入字符串secondView 将“2”写入字符串,然后在 applicationDidFinishLaunching 中如果 string = 1 然后 firstView ETC...当然这只是一种方法。
猜你喜欢
  • 2013-04-22
  • 1970-01-01
  • 2011-04-12
  • 1970-01-01
  • 2018-07-06
  • 2012-03-06
  • 2011-08-22
  • 2012-12-06
  • 1970-01-01
相关资源
最近更新 更多