Ich habe gerade mit der Programmierung von Objective-C begonnen und frage mich, da ich einen Hintergrund in Java habe, wie Leute, die Objective-C-Programme schreiben, mit privaten Methoden umgehen.
Ich verstehe, dass es verschiedene Konventionen und Gewohnheiten geben kann, und betrachte diese Frage als einen Aggregator der besten Techniken, die Menschen im Umgang mit privaten Methoden in Objective-C verwenden.
Bitte geben Sie bei der Veröffentlichung eine Begründung für Ihren Ansatz an. Warum ist er gut? Welche Nachteile hat er (die Ihnen bekannt sind) und wie gehen Sie damit um?
Was meine bisherigen Erkenntnisse betrifft.
Es ist möglich, Folgendes zu verwenden Kategorien [z. B. MyClass (Private)] in der Datei MyClass.m definiert, um private Methoden zu gruppieren.
Dieser Ansatz hat 2 Probleme:
- Xcode (und Compiler?) prüft nicht, ob Sie alle Methoden in der Kategorie private im entsprechenden @implementation-Block definieren
- Sie müssen @interface, das Ihre private Kategorie deklariert, an den Anfang der Datei MyClass.m setzen, sonst beschwert sich Xcode mit einer Meldung wie "self may not respond to message "privateFoo".
Das erste Problem kann durch folgende Maßnahmen gelöst werden leere Kategorie [z.B. MyClass ()].
Der zweite Punkt stört mich sehr. Ich würde gerne private Methoden am Ende der Datei implementiert (und definiert) sehen; ich weiß nicht, ob das möglich ist.