0
我試圖將一些數據從一個視圖控制器傳遞到另一個視圖控制器。造成困難的是第一個VC是漢堡菜單(或tableview控制器),第二個VC是在標籤欄控制器內部。我不能使用與prepareforsegue一起的故事板segue,因爲這不適用於製表符。顯然,讓頁面工作的唯一方法是在按下表格視圖的單元格時使用委託方法。IOS:以編程方式將數據傳遞給VC
到目前爲止,我已經嘗試了兩種方法,雖然他們都成功地呈現第二個視圖控制器,但兩種方法都不傳遞數據。將不勝感激任何建議。
//方法1不起作用。嘗試使用它在層次結構中的位置引用destVC
- (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不起作用。試圖利用其標識符故事板
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
mainTabVC *tabBarController = (mainTabVC *)self.revealViewController.frontViewController;
UINavigationController *navController = tabBarController.viewControllers[0];
[navController popToRootViewControllerAnimated:NO];
tabBarController.selectedIndex = 0;
UIStoryboard *storyBoard = self.storyboard;
myVC *destVC =
[storyBoard instantiateViewControllerWithIdentifier:@"myVC"];
destVC.data = @"data point";
[self.revealViewController pushFrontViewController:tabBarController animated:YES];
}
//在myVC有一個名爲data屬性如下識別destVC:
@property (strong,nonatomic) NSString *data;
第一種方法似乎是正確的,但是你得到了什麼錯誤?或者爲什麼會失敗? – Merlevede
當我在desVC中註銷self.data的值時,它顯示(null) – user6631314
爲什麼不使用'Notification'? – Adeel