2012-03-30 13 views
2

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

+0

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. –

+0

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. –

+0

Sicher, Sie können jede Methode überschreiben. Sie können keine Instanzvariablen hinzufügen. Sie können sie jedoch ziemlich überzeugend fälschen. –

Antwort

5

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.

+0

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. –

+1

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

+1

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

2

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.