Ich könnte nur eine oder zwei Methoden in jeder dieser Klassen haben. Muss jede dieser Klassen in separaten Dateien sein? Was die gute Codierung hier üben?Bedeutet das Erstellen einer neuen Klasse in Objective C zwangsläufig das Erstellen einer neuen Datei für jede der neuen Klassen?
Antwort
Nein, Sie haben keine müssen eine neue Quelldatei für jede Klasse erstellen. Es ist im Allgemeinen eine gute Idee und nicht wirklich eine Last, also warum nicht Sie? Aber es ist durchaus möglich, mehrere @implementation
Blöcke für mehrere Klassen in der gleichen Quelldatei zu platzieren. Wenn eine Klasse nur in dieser Quelldatei verwendet wird, kann auch ihr @interface
Block vorhanden sein. Das heißt, alles über eine Klasse kann zusammen mit anderen Klassen in der einen Datei enthalten sein.
Also, Sie wollen sagen, die Schnittstelle und Implementierung kann in der gleichen Datei sein? Würde die Datei in diesem Fall den Namen .h-Datei haben? (Obwohl diese Datei sowohl die Schnittstelle als auch die Implementierung hat?) – dashuser
Ich habe auch mehrere sehr kleine, eng verwandte Klassen in eine .h und .m Datei geschrieben. Auch wenn sie alle in einer anderen Klasse verwendet werden. Zum Beispiel eine Familie von Kriterien, die in einem Regeleditor verwendet werden. – Willeke
Sie sollten eine Implementierung nicht in eine Headerdatei einfügen. Sie * können * eine Schnittstelle in eine Quelldatei (.m) einfügen, wenn sie in keiner anderen Datei benötigt wird. –
Es ist nicht notwendig, für jede der neuen Klassen eine neue Datei zu erstellen. z. B .:
UIViewController *controller = [[UIViewController alloc] init];
[self.navigationController pushViewController:controller animated:YES];
Auf diese Weise könnten Sie immer noch einen neuen Controller drücken. Wenn Sie jedoch Ihre benutzerdefinierte Methode implementieren müssen, müssen Sie eine neue Datei für die Klasse erstellen und eine eigene Methode hinzufügen.
- 1. Overhead Erstellen einer neuen Klasse
- 2. Erstellen einer neuen Datei in Eclipse
- 3. Erstellen einer neuen DefinitelyTyped-Definition
- 4. Erstellen einer neuen Zeichenfolge ADT
- 5. Erstellen eines neuen Objekts innerhalb der Klasse
- 6. sharepoint- Erstellen einer neuen Webanwendung
- 7. Erstellen einer neuen ausführbaren ELF-Datei
- 8. Erstellen einer neuen IP-Adresse
- 9. Erstellen einer neuen Zeile für Zeichenfolge
- 10. Was bedeutet "track" beim Erstellen einer neuen Verzweigung in git?
- 11. Erstellen einer neuen Instanz einer Klasse in Typoskript
- 12. Eclipse friert beim Erstellen eines neuen Projekts oder einer neuen Klasse ein
- 13. Erstellen einer neuen Variablen in R
- 14. Erstellen einer neuen schnellen Szene mit der entsprechenden SKs-Datei
- 15. Erstellen einer neuen Liste mit java8 lambdas
- 16. PHP Erstellen einer neuen Instanz einer Klasse Rückgabe NULL
- 17. Android - Erstellen einer neuen Aktivität in Eclipse
- 18. Erstellen einer neuen Scratchpad auf einer bestehenden
- 19. Erstellen einer neuen Ruby-Plattform in Netbeans
- 20. statt einer neuen Klasse
- 21. Kontinent - Erstellen einer neuen Variablen - R
- 22. Erstellen einer neuen Seite in Laravel
- 23. Erstellen einer neuen Instanz in CFC
- 24. Erstellen einer Kopie der aktuellen Klasse mit neuen
- 25. Erstellen einer neuen Datenbank, wenn das Schema geändert wurde
- 26. Erstellen einer benutzerdefinierten Aufgabe in einer neuen Datei?
- 27. Blätter ("Neu"). Wählen Sie unbeabsichtigt das Erstellen einer neuen Arbeitsmappe
- 28. Unity: Null beim Erstellen einer neuen Klasseninstanz
- 29. Erstellen einer Schleife zum Erstellen einer neuen Ressourcengruppe in Powershell
- 30. Erstellen einer neuen Instanz eines KClass
Wenn es sich um verschiedene Objekte handelt, müssen Sie sicherstellen, dass es sich um separate Klassen handelt. – GeneCode
https://StackOverflow.com/a/22545652/341994 – matt