Est-ce que passer deux paramtres nil à initWithNibName: bundle: méthode mauvaise pratique (ie dangereux ou plus lent)?

Selon un commentaire dans UIViewController concernant initWithNibName:bundle:

If you invoke this method with a nil nib name, then this class' -loadView method will attempt to load a NIB whose name is the same as your view controller's class.

Je nomme toujours mes plumes comme le controller de vue.

Est-ce une mauvaise pratique (c'est-à-dire dangereuse, plus lente, ou susceptible de causer des problèmes sur la route) de passer juste nil aux deux parameters au lieu d'une string de nom de plume?

Le désir principal de vouloir faire cela est que j'ai trouvé que l'utilisation de l'option refactor dans Xcode ne renomme pas les strings de noms de la plume (seulement les noms de class où ils sont utilisés). De ce fait, cela provoque des plantages si l'on ne prend pas soin de revenir en arrière et de les renommer partout.

Ce n'est pas dangereux ou lent. Cela signifie simplement qu'il y aura une vérification supplémentaire pour voir que la NIB avec le même nom que votre class existe réellement dans le package, alors elle sera chargée exactement comme si vous aviez passé le nom NIB. Cela ne causera pas de problèmes à less que vous décidiez de changer la façon dont vous nommez vos NIB. En face, il y a toute une discussion sur la façon dont -initWithNibName:bundle: est un mauvais initialiseur, et en utilisant simplement -init c'est mieux.