ฉันต้องการสร้างอาร์เรย์คงที่เพื่อใช้กับไฟล์การใช้งาน Objective-C ของฉันที่คล้ายกับสิ่งนี้ที่ระดับบนสุดของไฟล์ ".m" ของฉัน:
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
ฉันวางแผนที่จะใช้ในNUM_TYPES
ภายหลังในไฟล์ดังนั้นฉันจึงต้องการใส่ไว้ในตัวแปร
อย่างไรก็ตามเมื่อฉันดำเนินการนี้ฉันได้รับข้อผิดพลาด
"ประเภท" ที่ปรับเปลี่ยนได้หลากหลายที่ขอบเขตไฟล์ "
ฉันรวบรวมว่าสิ่งนี้อาจเกี่ยวข้องกับขนาดอาร์เรย์ที่เป็นตัวแปร (ฉันไม่ได้รับข้อความนี้เมื่อฉันใส่ลิเทอรัลจำนวนเต็มเช่นstatic int types[4]
)
ฉันต้องการแก้ไขปัญหานี้ แต่บางทีฉันอาจจะคิดผิดทั้งหมด ... ฉันมี 2 เป้าหมายที่นี่:
- มีอาร์เรย์ที่สามารถเข้าถึงได้ทั่วทั้งไฟล์
- ในการห่อหุ้ม
NUM_TYPES
เป็นตัวแปรดังนั้นฉันจึงไม่มีตัวอักษรเดียวกันกระจัดกระจายอยู่ตามที่ต่างๆในไฟล์ของฉัน
ข้อเสนอแนะใด ๆ ?
[แก้ไข] พบสิ่งนี้ในคำถามที่พบบ่อยเกี่ยวกับ C: http://c-faq.com/ansi/constasconst.html
#define kNUM_TYPES 4
เหรอ?