Apple recommande d'utiliser performSegueWithIdentifier:sender:someObject
de programmation pour effectuer enchaîne. Il existe au moins un couple d'avantages à le faire de cette façon:
Moins de votre propre code signifie que vous êtes en laissant le cadre de faire plus de travail. Si Apple arrive avec quelques super-cool de nouveaux effets visuels pour pousser enchaîne, ou améliore les performances, ou corrige un bug dans certaines future version d'iOS, votre application peut obtenir gratuitement. Et chaque ligne de code que vous écrivez pour faire un travail le cadre pourrait être fait pour vous augmente votre chance de la rédaction de bugs.
En plus de l'IB peut signifier plus facile à modifier. Si vous décidez que vous voulez modifier tous vos push enchaîne à modale enchaîne, ou de la coutume, des enchaînements de type où vous faire votre propre super-cool, effet visuel, vous pouvez choisir 'em all au bureau de l'IB et de modifier la séquence type en un seul clic au lieu de rechercher dans votre code.
En outre, si vous utilisez la première ou la deuxième méthode, poussant un view controller afin de "revenir" à la vue précédente contrôleur ne fonctionne pas de la façon dont vos utilisateurs attendent. Lorsque vous appuyez sur un SongViewController
, il est ajouté à la fin de la pile de navigation:
LocationViewController -> SongViewController
Ensuite, si vous poussez LocationViewController
de nouveau à "revenir":
LocationViewController -> SongViewController -> LocationViewController
Si l'utilisateur appuie sur le bouton précédent de la barre de navigation, ils vont revenir en arrière à partir de l'emplacement de la vue à la chanson de vue de l'emplacement de l'afficher de nouveau. (Aussi, si vous continuez à faire cela, tous les "back" et "forward" ajouter à une augmentation croissante de la chaîne de vue des contrôleurs, qui pourrait conduire à d'autres problèmes.)
Au lieu de cela, vous devriez laisser la manette de navigation poignée de revenir. Il met un bouton dans la barre de navigation pour ce faire, ce qui devrait convenir à la plupart des cas d'utilisation. Si vous avez besoin de faire votre propre contrôle de revenir en arrière, vous ne pouvez pas le faire au bureau de l'IB avec iOS 5, mais vous pouvez le faire par programmation avec la manette de navigation de l' popViewControllerAnimated:
méthode.