SlidingViewController の操作に問題があります。私のスライディング ビュー コントローラーには、左ビュー コントローラー、メイン ビュー コントローラー、右ビュー コントローラーがあります。左のView ControllerはメニュースタイルのView Controllerで、メインView Controllerを選択したView Controllerに切り替えます。右側のビュー コントローラーは、NSUserDefault キーを使用した最近の検索を含むテーブル ビュー コントローラーです。このキーは、4 つの文字列を含む配列です。私が抱えている問題は、メイン ビュー コントローラーの viewWillAppear が呼び出されないため、この文字列をメイン ビュー コントローラーに送り返すことです。
View ControllerにviewDidAppearを手動で呼び出させようとしましたが、メインView Controllerを初期化するとまったく新しいviewControllerがすべて作成され、メインView Controller内にtableViewが作成されないため、テーブルをロードリロードしません見る。また、ログに記録すると、tableView は (null) として出力されます。
LeftViewController の didSelectRowAtIndexPath は次のとおりです。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *iPhoneStoryBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
ViewController *viewController = (ViewController *)[iPhoneStoryBoard instantiateViewControllerWithIdentifier:@"HomePage"];
viewController.reloadArray = self.recentSearchesArray[indexPath.row];
NSLog(@"Recent ReloadArray: %@", viewController.reloadArray); //This prints out the correct information
/*
MenuViewController *menuViewController = [[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
SlidingViewController *slidingViewController = [[SlidingViewController alloc] initWithNibName:@"SlidingViewController" bundle:[NSBundle mainBundle] mainViewController:viewController leftViewController:menuViewController andRightViewController:self];*/ //Tried doing this too, doesn't work
[viewController viewWillAppear:YES];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
[self performSelector@selector(toggleView)];
}
ViewController の viewWillAppear の
-(void)viewWillAppear:(BOOL)animated
{
if(self.reloadArray.count !=0)
{
NSLog(@"Reload Array Not Empty!");
NSLog(@"ReloadArray: %@",self.reloadArray); // Logs out the correct information
[self.homePageTableView reloadData];
NSLog(@"Table: %@", self.homePageTableView); // Logs out as (null) :(
}
else
{
NSLog(@"Reload Array Is Empty");
}
}
誰にも提案/アイデアがありますか、または誰かがこのようなことをしたり、この問題に遭遇したりしましたか? もしそうなら、どんな情報やガイダンスも大歓迎です。前もって感謝します!