conventions de nom pour xibs
-
12-09-2019 - |
Question
J'ai regardé l'exemple de code et parfois les fichiers de nom d'Apple ClassNameView
et parfois ClassNameViewController
. Le ClassName
est toujours un UIViewController
ou UITableViewController
, qui avait me demande quelle convention à utiliser lors de la nomination d'un xib. Je pense Voir car il est pas vraiment le ViewController
, mais curieux sur ce que la convention est ou tout au moins ce que vos conventions de nommage sont pour xibs.
La solution
J'utilise ClassNameView depuis le xib représente le point de vue, pas le contrôleur de vue. Je ne pense pas qu'il y ait une convention généralement acceptée.
Autres conseils
CocoaTouch prend en charge les conventions, avec une préférence pour la forme courte ClassNameView, selon le processus de chargement de pointe décrite ci-dessous lorsqu'un nom nib est pas spécifiée (de la documentation UIViewController, sous nibName):
Plus précisément, il semble (dans l'ordre) pour un fichier nib avec l'un des les noms suivants:
Si le nom contrôleur vue de la classe se termine par le mot « contrôleur », comme dans MyViewController, il recherche un fichier nib dont le nom correspond à la nom de classe sans le mot « contrôleur », comme dans MyView.nib.
Il semble pour un fichier nib dont le nom correspond au nom du contrôleur de vue classe. Par exemple, si le nom de classe est MyViewController, il semble pour un fichier MyViewController.nib.
Alors que d'autres ont dit, il est une question de préférence! Personnellement, j'aime la version plus courte mais peut voir la logique dans les deux.
J'utilise généralement ClassNameViewController depuis que je mets propriétaire à cette classe et il semble du fichier étrange de nommer le fichier à quelque chose qui est un sous-objet de l'objet représente la pointe. Comme vous, je l'ai vu dans les deux sens dans le code de l'échantillon et j'ai vu un billet de blog sur Cocoa recherche explicitement ClassNameView dans certains cas, mais je ne l'ai pas eu de problèmes à l'aide ClassNameViewController.