我的 AppDelegate 中有一个名为 handleLocalNotification 的方法,当我的应用收到通知时会触发该方法。我需要它切换到包含 UITableview 的 UITabBarController 中的选项卡 0。然后我需要它推送表格视图的正确行以显示通知发送的记录。所有控制器都是在情节提要中创建的,所以我在 AppDelegate 中没有对它们的引用。
我已添加到我的 AppDelegate.h:
@class MyListViewController;
@interface iS2MAppDelegate : UIResponder <UIApplicationDelegate> {
MyListViewController *_listControl;
}
为了测试,我只是把它放在 didFinishLaunchingWithOptions 方法中:
UITabBarController *tabb = (UITabBarController *)self.window.rootViewController;
tabb.selectedIndex = 0;
_listControl = [tabb.viewControllers objectAtIndex:0];
[_listControl.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:4 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];
tabBarController 位有效,因为我可以让它加载到不同的选项卡上。最后两行导致它崩溃。我是否以正确的方式解决了这个问题?还是我需要使用不同的方法?崩溃原因是:
UINavigationController tableView]:发送到实例的无法识别的选择器