我想在我的 appDelegate.m 中使用方法 didSelectViewController 和两个 viewControllers(由 TabBarController 链接)。
当我复制第一种方法(单独工作)并将其粘贴在下方时。我更改了 viewController 的名称,但出现了错误消息“方法的重复声明”。
有什么想法可以解决这个问题吗?
我有的 :
- (void)tabBarController:(TBControllerViewController *)tabBarController didSelectViewController:(FoodViewController *)viewController {
viewController.caloriesDepensees = tabBarController.caloriesTB;
}
我想要没有错误的东西:
- (void)tabBarController:(TBControllerViewController *)tabBarController didSelectViewController:(FoodViewController *)viewController {
viewController.caloriesDepensees = tabBarController.caloriesTB;
}
- (void)tabBarController:(TBControllerViewController *)tabBarController didSelectViewController:(DrinksViewController *)viewController {
viewController.caloriesDepenseesDrinks = tabBarController.caloriesTB;
}
编辑: Martin R,我听从了你的建议,这是我的代码:
- (void)tabBarController:(TBControllerViewController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if(tabBarController.selectedIndex == 0) {
DrinksViewController *dvc = (DrinksViewController *)viewController;
dvc.caloriesImportesD = tabBarController.caloriesTB;
} else if (tabBarController.selectedIndex == 1) {
FoodViewController *fvc = (FoodViewController *)viewController;
fvc.caloriesDepensees = tabBarController.caloriesTB;
}
}
但只有我的“(tabBarController.selectedIndex == 1)”命令有效。我已经用这种方法检查了 viewController 的索引,所以我确定 DrinksViewController 的索引是 0 :
index = [self.tabBarController.viewControllers indexOfObject:self];
NSLog (@"%d",index);
我以同样的方式定义了“caloriesImportesD”和“caloriesDepensees”。
对这种功能有任何想法吗?