アプリが通知を受け取ったときに起動する 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 ビットは、さまざまなタブにロードできるように機能します。最後の 2 行でクラッシュします。これについて正しい方法で行ったことがありますか?または、別の方法を使用する必要がありますか? クラッシュの理由は次のとおりです。
UINavigationController tableView]: 認識されないセレクターがインスタンスに送信されました