J'écris actuellement une application iPhone qui utilise un UITabBarController avec plus de 5 éléments de barre d'onglets. Ainsi, un onglet "plus" est généré automatiquement (comme dans l'application YouTube). J'ai découvert que la classe de contrôleur de vue correspondante est UIMoreListController, mais je n'ai aucun fichier .h correspondant. Donc, mon code ressemble à ceci:Comment désactiver l'avertissement de compilateur de classe avant (classe non documentée)
@class UIMoreListController; // can't use #import since .h file is missing
@implementation SomeUINavigationControllerDelegate
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
if ([viewController isKindOfClass:[UIMoreListController class]])
... // do something if "more" view is active
Cela fonctionne comme un charme. Cependant, le compilateur continue à me donner
avertissement: récepteur « UIMoreListController » est une classe avant et @interface correspondant peut ne pas exister
Y at-il une belle façon de se débarrasser de cet avertissement (et cela avertissement particulier seulement)? Encore une fois, je ne peux pas utiliser #import car aucun fichier .h n'est disponible.
Vous avez absolument raison. J'ai décidé d'utiliser une approche différente après tout: http://pastebin.com/f28191612 Cela suffit pour détecter le UIMoreListController, j'espère. – user123444555621