在目标C中退出应用程序时如何检索数据
Posted
技术标签:
【中文标题】在目标C中退出应用程序时如何检索数据【英文标题】:How to retrive data when app is quit in objective C 【发布时间】:2013-05-20 12:33:21 【问题描述】:我有一个应用程序,当通知被触发时,当应用程序处于后台时,我会得到一个通知栏,当我点击该栏时,它会导航到通知集的表格视图。 当我从后台退出应用程序时,我收到通知,但是当点击栏时应用程序崩溃,因为它没有获取 tableview 的索引路径。
我在 AppDelegate 中的 didFinishLaunchingWithOptions 和 didReceiveLocalNotification 中调用此方法。这样当应用程序处于后台时,通过单击通知栏应用程序将导航到适当的表格视图。
【问题讨论】:
【参考方案1】:请打印您的用户信息,看看里面有什么。这将是一本字典,可能它遗漏了某些内容或包含任何 nil 值。
【讨论】:
【参考方案2】:UILocalNotification
有一个 userInfo 字典。在那里,您可以存储该通知的一些相关信息,在您的情况下为 indexPath
NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:selectedSymptomIndex,@"selectedSymptomIndex",keyIndexNumber,@"keyIndexNumber", nil];
localNotification.userInfo = userInfo;
在接收通知时(在 didReceiveLocalNotification 中),您可以检索 userInfo 字典,例如 notification.userInfo
。从中您将获得 selectedSymptomIndex 和 keyIndexNumber。
现在可以构造 indexPath
NSIndexPath *selectedSymptIP = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
【讨论】:
检查这个以发送数据到通知***.com/questions/4312338/… 当您使用我建议的适当值安排通知时,您必须设置 userInfo。然后,您可以通过访问收到通知的 userInfo 将其取回 applicationDidReceiveLocalNotification ...从那里您将获得字典。.从 dict 中获取值以及您想要的任何内容 使用您在 scheduleNotification 中使用的相同用户信息,您可以为该 dict 提供更多值,无需创建另一个。 它们在同一个视图控制器中?只需将选定的 indexPath 传递给 scheduleNotification。或 [self.tableView indexPathForSelectedRow] 可能有效。请记住,您不能直接在 userInfo 中设置 indexPath.. 分别设置节号和行号 让我们continue this discussion in chat以上是关于在目标C中退出应用程序时如何检索数据的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Swift 类中检索目标 C 类中的 Userdefault?