UISplitViewController et delegate : is expected to have a master view controller

Ce warning peut vous sembler bénin puisque votre application fonctionne bien en mode debug. Il peut aussi faire crasher votre app iPad en release ou provoquer d’autres comportements indésirables.

Attention tout de même si vous avez le message « UISplitView is expected to have a master view controller » dans votre console, vous avez certainement inversé quelques lignes lors de la création de votre SplitView.

Pour prétendre utiliser votre UISplitViewController correctement, vous devez l’avoir initialisé et lui avoir donné les deux contrôleurs de vue (master et detail). Ensuite, utilisez-le comme bon vous semble.

self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterViewController, detailNavigationController, nil];

self.splitViewController.delegate = masterViewController;

Vous éviterez ainsi que votre application plante sans raison apparente en ayant tenu compte des warnings de Xcode et en respectant les consignes de l’iOS SDK.

D’autres détails et explications en anglais sur le site Use your loaf.

Auteur: Benoit DELDICQUE

Actuellement en poste sur Strasbourg, je suis en charge de la conception et la réalisation d'applications iOS pour iPhone, iPad et iPod touch.

Articles similaires

Commentaires fermés.