Objective-C静态内联NSString数组

Geo*_*sen 9 inline objective-c init static-array

嗨:)我正在尝试创建NSStrings的静态C阵列.

这是我试过的:

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

没有编译器错误,但我收到41个警告,所有这些都是以下三个中的一个:

"warning: initialization from incompatible pointer type"
"warning: excess elements in scalar initializer"
"warning: (near initialization for 'polygonNames')"
Run Code Online (Sandbox Code Playgroud)

这让我相信当我使用这个课程时,我会遇到大量的信号或其他一些内存访问错误......

初始化NSStrings静态数组的正确方法是什么(最好是内联,我想使用C数组,而不是NSArrays)?

Ric*_*III 29

试试这个:

static NSString *polygonNames[] = { @"Radical Isotope", @"Point", @"Line", /* etc */ };
Run Code Online (Sandbox Code Playgroud)