Maison  >  Questions et réponses  >  le corps du texte

ios中怎么定义数组常量?

巴扎黑巴扎黑2720 Il y a quelques jours458

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-04-17 16:22:33

    可以这样

    static NSString const *imgArr[3] = {
        @"引导页1",
        @"引导页2",
        @"引导页3"
    };

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:22:33

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

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:22:33

    const NSArray * arr = @[@"123",@"456"];
    这样写就已经是常量数组了

    répondre
    0
  • Annulerrépondre