Diese Zeilen in meinem Code OK sind:NS_ENUM ohne Namen
typedef NS_ENUM(NSInteger, unused_name)
{ k_a = 123,
k_b = 123,
k_c = 61
};
Aber die folgenden Zeilen nicht. Der Compiler beklagt sich, dass der variable (...) Teil von NS_ENUM keine Variable enthält.
NS_ENUM(NSInteger)
{ k_a = 123,
k_b = 123,
k_c = 61
};
Ich habe das gleiche Problem mit einem CF_ENUM.
Ich denke, es ist kein Problem der Header-Datei (Foundation/NSObjCRuntime.h
oder Core Foundation).
Ich schrieb eine Antwort, aber es sieht so aus, als ob du alles richtig machst. Stellen Sie nur sicher, dass Ihre enum-Deklarationen außerhalb von Objective-C-Schnittstellen- oder Implementierungscodeblöcken liegen. – JAL
Sie können kein NS_ENUM ohne einen Namen haben. Der Name wird zum Namen des Typedef, der für NS_ENUM verwendet werden soll. Die Verwendung eines nicht eindeutigen Namens wie "unused_name" bringt Sie in Schwierigkeiten. Kein Name wird überhaupt nicht funktionieren. Und es ist kein Problem mit einem Header - es ist ein Problem mit Ihrem Code. Sie machen etwas falsch, und der Compiler sagt es Ihnen. – gnasher729
@ gnasher729 Wenn ich etwas nicht vermisse, kann man tatsächlich einen NS_ENUM ohne Namen haben (wie der zweite Codeblock in der Frage). Es erscheint nur als 'enum 'in Xcode Code Vervollständigung. –
JAL