xcode,iphone
涉及到了运行时。除了NSString类型之外,都不允许在方法外部声明一个‘静态全局常量类型的OC对象’。你声明的static const NSArray *imgArr 在‘编译’的时候系统并不知道imgArr是什么类型,PS:全局常量类型的常量,static const是系统在编译的时候就需要确定你所定义的常量是什么类型的,然而OC的对象的类型是在‘运行时’确定的。与基本数据类型的确定时间不同,由编译的时候推到了运行时(OC支持多态的原因)。但是NSString除外,NSString是一种特殊的数据类型,有特殊的存储结构和权限来保证系统能够识别。如果你想再深入理解的话,需要对OC的运行时机制学习学习。
可以使用如下定义方式来定义 字符串数组常量static NSString const *operateTypeKey[20] = { @'com.suning.vrsdk.frontCamera', @'com.suning.vrsdk.backCamera', @'com.suning.vrsdk.leftCamera', @'com.suning.vrsdk.rightCamera', @'com.suning.vrsdk.other1Camera', @'com.suning.vrsdk.other2Camera', @'com.suning.vrsdk.other3Camera', @'com.suning.vrsdk.other4Camera', @'com.suning.vrsdk.play', @'com.suning.vrsdk.pause', @'com.suning.vrsdk.setting', @'com.suning.vrsdk.volume.add', @'com.suning.vrsdk.volume.subtract', @'com.suning.vrsdk.mute', @'com.suning.vrsdk.next', @'com.suning.vrsdk.previous', @'com.suning.vrsdk.lock', @'com.suning.vrsdk.exit'};
使用时,使用下标方式获取对应字符串。