搜尋

首頁  >  問答  >  主體

ios中怎么定义数组常量?

巴扎黑巴扎黑2769 天前484

全部回覆(3)我來回復

  • 高洛峰

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

    可以這樣

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

    回覆
    0
  • 大家讲道理

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

    涉及到了運行時。
    除了NSString型別之外,都不允許在方法外部宣告一個『靜態全域常數型別的OC物件』。
    你聲明的static const NSArray *imgArr 在'編譯'的時候系統並不知道imgArr是什麼類型,PS:全域常數類型的常數,static const是系統在編譯的時候就需要確定你所定義的常數是什麼類型的,然而OC的物件的類型是在'運行時'確定的。與基本資料型別的決定時間不同,由編譯的時候推到了執行時間(OC支援多態的原因)。
    但是NSString除外,NSString是一種特殊的資料類型,有特殊的儲存結構和權限來確保系統能夠辨識。
    如果你想再深入理解的話,需要對OC的運行時機制學習學習。

    回覆
    0
  • 天蓬老师

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

    const NSArray * arr = @[@"123",@"456"];
    這樣寫就已經是常數數組了

    回覆
    0
  • 取消回覆