2012-05-04 17 views
9

Xin chào :) Tôi đang cố gắng tạo một C-Mảng tĩnh của NSStrings.Mảng NSString nội tuyến tĩnh Mục tiêu-C

Đây là những gì tôi đã cố gắng:

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

Không có lỗi biên dịch, nhưng tôi nhận được 41 cảnh báo, tất cả trong số đó là một trong ba sau:

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

Dẫn tôi tin khi tôi sử dụng lớp này, tôi sẽ được trình bày với rất nhiều sigbarts hoặc một số lỗi truy cập bộ nhớ khác ...

Cách thích hợp để khởi tạo một mảng tĩnh của NSStrings (tốt nhất là cách nào nội tuyến, và tôi muốn sử dụng C-mảng, không NSArrays)?

Trả lời

29

Hãy thử điều này:

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

Ahh cảm ơn bạn. Tôi đã quá quen với lớp mô hình lập trình của mình, phải chuyển đổi void * thành int ** etc, v.v. –

+0

Xây dựng cảnh báo-ít bây giờ, cảm ơn! : D –

Các vấn đề liên quan