あるビューコントローラから別のビューコントローラにデータを渡そうとしています。物事を困難にするのは、最初のVCがハンバーガーメニュー(またはテーブルビューコントローラー)で、2番目のVCがタブバーコントローラーの内側にあることです。これはタブでは機能しないため、私はprepareforsegueでストーリーボード・セグを使うことはできません。明らかに、テーブルビューのセルを押すと、デリゲートメソッドを使用して、タブを動作させる唯一の方法です。IOS:プログラムでVCにデータを渡す
これまでは2つの方法を試していましたが、どちらも2番目のView Controllerの提示に成功しましたが、いずれの方法もデータを渡していません。何か提案をいただければ幸いです。
//方法1は機能しません。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
mainTabVC *tabBarController = (mainTabVC *)self.revealViewController.frontViewController;
UINavigationController *navController = tabBarController.viewControllers[0];
myVC * destVC = [navController.viewControllers objectAtIndex:0];
[navController popToRootViewControllerAnimated:NO];
tabBarController.selectedIndex = 0;
destVC.data = @"Data Point";
[self.revealViewController pushFrontViewController:tabBarController animated:YES];
}
//方法2は機能しません。階層内の場所を使用してdestVCを参照しようとします。
@property (strong,nonatomic) NSString *data;
最初の方法は正しいようですが、どのようなエラーが表示されますか?なぜ失敗するのでしょうか? – Merlevede
私がdesVCのself.dataの値をログアウトすると、(ヌル) – user6631314
なぜあなたは 'Notification'を使わないのですか? – Adeel