我開始鑽研iOS開發,並且正在學習Objective C。我的背景是Java。
我試圖創建一個簡單的單機遊戲,並創建了以下常量:從另一個常量不能正常工作
#import <Foundation/Foundation.h>
static const NSString *ROCK = @"Rock";
static const NSString *PAPER = @"Paper";
static const NSString *SCISSORS = @"Scissors";
static const NSString *LIZZARD = @"Lizzard";
static const NSString *SPOCK = @"Spock";
static const NSArray *WEAPONS = @[SPOCK, ROCK, SCISSORS, LIZZARD, PAPER];
麻煩的是,我得到的最後一行的錯誤:Initializer element is not a compile-time constant
。
我試圖找出這意味着什麼 - 「這是因爲對象的作品[原文]在運行時」我能找到的最接近的事情是this question由弗雷德·柯林斯,他指出,我仍然不完全確定這是什麼意思 - 這與Java有何不同? (我絕對可以在Java中做到這一點!)
無論如何,我需要一些初始化NSArray *WEAPONS
的方法,並且我無法在不添加其他文件的情況下爲Fred Collin的問題找到答案。 (他正在使用他的常量類,因爲我的程序很容易包含在與主要方法相同的文件中。)
查看http://stackoverflow.com/questions/12304740/initializer-element-is-not-a-compile-time-constant-why – jarmod
你真的用Java標記過嗎? ':/' – ADTC