Alle meine .h-Datei in meinem Projekt haben nur eine Klasse in jeder Datei.Aber ich sehe, dass UIAlertController.h Datei zwei Klassen hat: UIAlertController und UIAlertAction.What Apple dies entworfen und wann sollten wir zwei oder mehr Klassen in einem kombinieren Datei?Warum haben einige .h-Dateien zwei Klassen?
Antwort
.h
Dateien sind Header-Dateien, sie enthalten Verweise auf alle Funktionen, die Sie in Ihrer Datei .m
definieren, so dass Sie Code über mehrere Dateien freigeben können. Sie können beliebig viele Klassen und Funktionen in Ihrer .m
Datei definieren, so dass Sie in Ihrer '.m'-Datei beliebig viele Klassen und Funktionen referenzieren können, damit Sie sie in anderen Quelldateien verwenden können. Die Kombination von zwei oder mehr Klassen in einer Datei .h
hängt davon ab, ob Sie zwei oder mehr Klassen in der entsprechenden Datei .m
definiert haben.
Technisch in Objective-C sind sie .m-Dateien. Zur Klarheit. –
@NateBirkholz, danke, ich werde es bearbeiten, damit es niemanden verwirrt. – chkdrv
@sillyhairboy ok thx bro ...... –
- 1. Warum können statische Klassen keine Destruktoren haben?
- 2. Warum haben einige UWP-Projekte project.json einige nicht?
- 3. Powershell - Warum einige Eigenschaften verwandte Parameter haben
- 4. Warum haben einige Switches Uplink-Ports?
- 5. Warum haben einige Websites eine 'img.' Seite? ˅?
- 6. Warum müssen Entity-Klassen eine @Id haben?
- 7. Warum haben die Array-Klassen keine Hilfsmethoden?
- 8. Warum haben abstrakte Klassen in Java Konstruktoren?
- 9. Warum haben einige Länder einen Punkt als Dezimaltrennzeichen und einige haben ein Komma?
- 10. Einige Abfrage haben Fehler
- 11. Warum sind einige Klassen in der CLR versiegelt?
- 12. java.lang.ClassCastException - Gleiches Objekt - Zwei Klassen, warum?
- 13. Doxygen: überspringe einige Klassen/Strukturen
- 14. Google Analytics, warum haben zwei Skriptblöcke?
- 15. SQL Server-Ungleichheitsvergleichsoperatoren, warum haben zwei
- 16. Zwei Enums haben einige Gemeinsamkeiten, warum führt dies zu einem Fehler?
- 17. wsdl2java Zwei Klassen haben denselben XML-Typname "{http: //***.***.***.***/***/***/***} Object"
- 18. Was tun, wenn zwei Bibliotheken genau die gleichen Klassen haben?
- 19. Wie kann ich zwei Klassen die gleichen Variablendefinitionen haben
- 20. Warum scheinen einige Pseudo-Elemente Pseudo-Klassen zu sein?
- 21. Wordpress Theme zeigt nur einige benutzerdefinierte Klassen
- 22. Scala: Warum ist es möglich, einige (keine) zu haben?
- 23. Warum haben einige Primitive Byte-Codes und andere nicht?
- 24. Warum einige Python-Build-Funktionen nur bestanden haben?
- 25. Warum haben einige Cookies ein '.' vor der Domain?
- 26. Warum haben einige Python-Pakete sich wiederholende Verzeichnisnamen?
- 27. Importieren Sie einige Klassen im selben Paket
- 28. Warum haben nicht generierte verwaltete Klassen Dealloc/Release?
- 29. PHP-OOP erweitert zwei Klassen?
- 30. Zusammenführen von zwei Datentabellen, die die gleichen Spalten haben, aber man beide haben einige null Zellen
In der Regel wird für eine Klasse pro Datei ein häufig verwendetes Muster verwendet. Wenn die Klassen eng miteinander verbunden sind, werden sie manchmal in dieselbe Datei eingefügt. –
Oder Protokoll (z. B. für Klassendelegierte) + Klasse. Oder eine Klasse und Erweiterung. Manchmal ist es nicht sinnvoll, eine separate Datei zu erstellen, um einen einfachen Datenbehälter zu definieren. – Sulthan