Ich habe eine App, wo ich UIViewController Unterklasse und fügen Sie einige Merkmale hinzu, dann verwenden Sie es für jeden Viewcontroller in meiner App. Ich habe mich nur gefragt, was ist die Namenskonvention dafür? Ich habe es UIDefaultViewController genannt, aber ich frage mich, ob es eine Möglichkeit gibt, dass ich es auch UIViewController nennen kann, oder ob es eine richtige Namenskonvention dafür gibt? Ich habe auch meine eigenen Implementierungen von UITextView und einigen anderen gängigen UI-Klassen und habe mich gerade gefragt, wie ich sie benennen soll, wenn sie die primäre Version ihrer Elternklasse sind, die ich in meiner App verwende.Proper Naming Convention für Kakao-Basisklassen
Antwort
Sie sollten auf jeden Fall nicht das Präfix "UI" verwenden. Es ist reserviert für Klassen von UIKit.framework. Ich würde vorschlagen, Ihr eigenes Präfix (Initialen, Firmeninitialen, etwas in der Art) zu entwickeln und das stattdessen zu verwenden. Also könnte ich CFMViewController haben, sagen wir.
Danke. Also ist es besser, die Initialen für alle meine UI-Elemente zu verwenden, oder sollte ich sie nur mit Basisklassen wie CFMViewController verwenden, aber wenn ich das erweitern muss, mache ich CFMTranslucentViewController? oder nur TranslucentViewController. Ich bin so anal über diese Art von Sachen. –
Ich habe gesehen, wie Leute ihre Initialen verwenden, um Cocoa-Klassennamen vorzugeben, wie in CHDataStructures: http://cocoaeheads.byu.edu/code/CHDataStructures. Dies geschieht jedoch normalerweise in Bibliotheken, um Namenskollisionen mit Anwendungscode zu vermeiden. Wenn ich Sie wäre, würde ich es "BaseViewController" nennen. Das ist nur meine Meinung. – LandonSchropp
Obwohl ich falsch liegen könnte. Apples Dokumentation sagt Präfixe zu verwenden: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-BBCHBFAH – LandonSchropp
Das ist ziemlich üblich, denke ich. Ich mache es oft in meinen Apps, ich nenne es immer BaseViewController
. Für UITextView
und so, ich denke, BaseTextView
oder etwas Sinn macht. Es liegt wirklich an dir und was du fühlst beschreibt es gut. Ich nenne es eine "Basis", weil Sie alle anderen View-Controller von dieser Unterklasse ableiten.
Ich würde es nicht UIDefaultViewController
nennen, weil das UI-Präfix bedeutet, dass es ein Teil des SDK ist. Ich würde etwas wie DefaultUIViewController
darüber bevorzugen.
- 1. Naming Convention für asynchrone Getter
- 2. Naming Convention Sammlung Größe
- 3. Naming Convention: Nicht-Generika
- 4. Enum Naming Convention - Plural
- 5. Naming Convention für Uninitialized Konstanten Java
- 6. Naming Convention JUnit Suffix oder Präfix-Test
- 7. Naming Convention für Überladen von Parametern in Python
- 8. Naming Convention für Visual Studio-Lösungen und Projekte
- 9. GIT: Probleme beim Verständnis der Branch Naming Convention
- 10. SAP HANA - Aktivierung Warnung: Kann nicht gefunden Naming Convention in Tabelle _SYS_BI.BIMC_CONFIGURATION für
- 11. Naming Schema für typedefs
- 12. Automapper Convention
- 13. Proper Terminologie für Object ... args
- 14. Naming von CSS-Eigenschaft Namen für JavaFX
- 15. Unity configure by convention
- 16. MVC Convention über Konfiguration
- 17. Naming Python Logger
- 18. Azure webrole naming
- 19. Business Logic Classes Naming
- 20. Models, Naming, und dies
- 21. Proper DateTime Format für einen Web Service
- 22. Gradle Plugin: Convention vs. Extension
- 23. SQL Naming Conventions
- 24. Fehler: Naming Kollision erkannt
- 25. Methode Naming Probleme Swift
- 26. Xcode Naming Executables
- 27. Naming: Preisliste vs. PriceList
- 28. Springfox @RestController Naming
- 29. Naming Funktionen in PHP
- 30. Naming von Haskell Module
Können Sie eine [Kategorie] (http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html) verwenden? Dadurch können Sie den Namen "UIViewController" verwenden. –
nah ich muss den Initialisierer überschreiben, ich glaube nicht, dass Sie das mit einer Kategorie können Sie tun? Prob besser, dass ich es nicht tue. –
Sicher, Sie können jede Methode überschreiben. Sie können keine Instanzvariablen hinzufügen. Sie können sie jedoch ziemlich überzeugend fälschen. –