2012-05-04 80 views
9

嗨:)我正在嘗試創建一個NSStrings的靜態C數組。Objective-C靜態內聯NSString數組

這是我的嘗試:

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

沒有編譯器錯誤,但我得到41級的警告,所有這些都是三者之一以下:

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

這使我相信當我使用這個類時,會出現大量的sigbarts或其他內存訪問錯誤...

什麼是正確的方式來初始化靜態數組NSStrings(最好內聯,我想用C數組,而不是NSArrays)?

回答

29

試試這個:

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

啊謝謝。我習慣了我的編程範例類,必須將void *轉換爲int **等,等等...... –

+0

現在建立警告,謝謝! :D –