在我的常量文件中,我包含了以下行
NSString * ALERT_OK = NSLocalizedString(@"Ok",@"Ok");
在此之后,当我尝试编译时收到以下错误
Initialiser element is not a compile time constant
我该如何调试?
最佳答案
问题在于 NSLocalizedString 是一个根据语言返回不同值的函数。它不是一个常数,只有在系统运行时才能计算出来。
相反,使用:
#define ALERT_OK NSLocalizedString(@"Ok",@"Ok");
它现在将简单地用函数替换 ALERT_OK,你会没事的。 (请注意,您应该像这样对所有全局值使用某种前缀,这样您就不会不小心创建与其他地方使用的相同名称的东西。)
关于iphone - Initialiser 元素不是编译时常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170728/