J'ai un tabBar avec 4 onglets, et je veux effectuer une action lorsqu'un onglet spécifique est sélectionné, j'ai donc décommenté le UITabBarControllerDelegate dans le xxAppDelegate.mUITabBarControllerDelegate comparer la valeur de viewController
Je voulais aussi pour voir la valeur qui a été envoyé connecté dans la console - afin de tester mon "if" déclaration. Cependant, c'est là que j'ai été perplexe.
// Optional UITabBarControllerDelegate method
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSLog(@"%@", viewController);
}
La console d'un contrôleur connecté docilement sélectionné qui avait été sélectionné, mais dans ce format particulier:
<MyViewController: 0x3b12950>
Maintenant, je ne m'y attendais les crochets ou le côlon ou Hex. Donc, ma question est comment puis-je formater ma déclaration IF? C'est ce que je pensais que cela fonctionnerait mais je reçois une erreur plus bas.
// Optional UITabBarControllerDelegate method
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSLog(@"%@", viewController);
if (viewController == MyViewController)
{
//do something nice here …
};
}
... L'erreur est "l'expression attendue avant 'MyViewController'"
Quelqu'un sait comment je devrais faire cela?
J'ai essayé exactement cela maintenant et j'ai fini par exactement la même erreur! Merci! – LouwHopley