Heim > Fragen und Antworten > Hauptteil
高洛峰2017-04-17 16:22:33
可以这样
static NSString const *imgArr[3] = {
@"引导页1",
@"引导页2",
@"引导页3"
};
大家讲道理2017-04-17 16:22:33
涉及到了运行时。
除了NSString类型之外,都不允许在方法外部声明一个‘静态全局常量类型的OC对象’。
你声明的static const NSArray *imgArr 在‘编译’的时候系统并不知道imgArr是什么类型,PS:全局常量类型的常量,static const是系统在编译的时候就需要确定你所定义的常量是什么类型的,然而OC的对象的类型是在‘运行时’确定的。与基本数据类型的确定时间不同,由编译的时候推到了运行时(OC支持多态的原因)。
但是NSString除外,NSString是一种特殊的数据类型,有特殊的存储结构和权限来保证系统能够识别。
如果你想再深入理解的话,需要对OC的运行时机制学习学习。