84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
可以这样
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"];
这样写就已经是常量数组了