2012-05-04 9 views
9

Hallo :) Ich versuche, ein statisches C-Array von NSStrings zu erstellen.Objective-C statische Inline-NSString-Array

Dies ist, was ich versucht:

static NSString** polygonNames = {@"Radical Isotope", @"Point", @"Line", @"Triangle", @"Square", @"Pentagon", @"Hextagon", @"Heptagon", @"Octagon", @"Nonagon", @"Decagon", @"Hendecagon", @"Dodecagon", @"Tridecagon", @"Tetradecagon", @"Pentadecagon", @"Hexadecagon", @"Heptadecagon", @"Octadecagon", @"Enneadecagon"}; 

keine Compiler-Fehler, aber ich bin 41 Warnungen bekommen, von denen alle eine der drei sind folgende:

"warning: initialization from incompatible pointer type" 
"warning: excess elements in scalar initializer" 
"warning: (near initialization for 'polygonNames')" 

Was mich führt zu glauben, Wenn ich diese Klasse verwende, werde ich mit vielen Sigarts oder einem anderen Speicherzugriffsfehler konfrontiert werden ...

Was ist der richtige Weg, um ein statisches Array von NSStrings zu initialisieren (vorzugsweise Inline, und ich möchte C-Arrays, nicht NSArrays) verwenden?

Antwort

29

Versuchen Sie folgendes:

static NSString *polygonNames[] = { @"Radical Isotope", @"Point", @"Line", /* etc */ }; 
+1

Ahh danke. Ich habe mich zu sehr an meine Klasse für Programmierparadigmen gewöhnt und musste void * in int ** usw. umwandeln ... –

+0

Warning-less jetzt aufbauen, danke! : D –