appDelegate.m でメソッド didSelectViewController を 2 つのビューコントローラー (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」を定義しました。
この機能不全のアイデアはありますか?