我有一个应用程序,当通知被触发时,当应用程序处于后台时,我会收到通知栏,当我点击该栏时,它会导航到通知集的表格视图中。 当我从后台退出应用程序时,我收到通知,但是当点击栏时应用程序正在崩溃,因为它没有获得tableview的索引路径。
我在didFinishLaunchingWithOptions中调用此方法,并在AppDelegate.so中调用didReceiveLocalNotification,当应用程序在后台时通过单击通知栏应用程序导航到适当的tableview。
答案 0 :(得分:0)
UILocalNotification
有一个 userInfo 字典。在那里,您可以为您的案例indexPath
NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:selectedSymptomIndex,@"selectedSymptomIndex",keyIndexNumber,@"keyIndexNumber", nil];
localNotification.userInfo = userInfo;
在接收通知时(在didReceiveLocalNotification中),您可以检索像notification.userInfo
这样的userInfo字典。从那里你将得到selectedSymptomIndex和keyIndexNumber
现在您可以构造indexPath
NSIndexPath *selectedSymptIP = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
答案 1 :(得分:0)
请打印 userinfo 并查看其中的内容。它将是一本字典,可能会遗漏某些内容或包含任何零值。