我有這樣的代碼:「初始化元素不是編譯時常量」爲什麼?
- (NSString *) calculate: (uint) position {
static NSArray * localArray = [NSArray arrayWithArray: self.container.objects ];
// some un related code
return obj;
}
編譯器會抱怨說:「初始值元素不是一個編譯時間常數」。當我將「static」添加到localArray時發生了這種情況。但爲什麼?
http://stackoverflow.com/q/6143107/94687是同樣的問題。在你的問題中唯一特別的是將static關鍵字明確地添加到函數體內的變量中(但是這必須等同於在全局範圍內具有變量,就像在該問題中那樣)。 –