In Java können Sie eine Aufzählung mit mehreren Werten erstellen. In Ziel-C kann dies nicht einfach durchgeführt werden. Ich habe viele Seiten darüber gelesen, aber ich fand nichts befriedigendes, das mir erlauben würde, enums auf einfache Weise zu verwenden und die enum-Deklaration und ihre verschiedenen Werte in derselben Datei zu behalten.Objective-C: Aufzählung wie Java (int-Werte und viele andere für jede Aufzählung)
Ich möchte so etwas wie dies in einem enums.h schreiben:
// ========================================
typedef enum {eRED, eGREEN, eBLUE} ColorEnum;
int colorValues[] = { 0xFF0000, 0x00FF00, 0x0000FF };
NSArray *colorNames = [NSArray arrayWithObjects:@"Red color", @"light green", @"Deep blue", nil];
// ========================================
und in der Lage thoses globale Variablen zu verwenden, um meine Sachen überall verwalten mag:
int color = colorValues[eRED];
Aber ich don Ich weiß nicht, wie ich das schreiben soll. Ich habe Kompilierfehler wie "ColorValues" ist oft definiert. Oder wenn ich nur "statische" verwenden, habe ich viele "ColorValues" nicht in .m Datei verwendet ...
Können Sie mir helfen?
Ich bin mir nicht sicher zu verstehen. Wenn ich die mittlere Zeile in eine .m-Datei lege, sind die Enumeration und die zugehörigen Werte nicht in derselben Datei? – Oliver
@Olivier, können Sie eine '# define' verwenden, um das zu beheben, wenn Sie möchten.Ich bin mir nicht sicher, ob dein beabsichtigter Entwurf eine gute Idee ist, damit anzufangen. –
Ich bin mir nicht sicher, ob das Design perfekt ist, aber manchmal ist es vielleicht der Preis, um mit einer prähistorischen Sprache zu arbeiten. Die gleichen Dinge am selben Ort zu behalten, ist meiner Meinung nach eine gute Möglichkeit, den Code klar und vor allem so fehlerfrei wie möglich zu halten. – Oliver