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