Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的常量文件中,我包含了以下行
NSString * ALERT_OK = NSLocalizedString(@"Ok",@"Ok");
在此之后,当我尝试编译时,我收到以下错误
Initialiser element is not a compile time constant
我该如何调试呢?
问题是 NSLocalizedString 是一个返回不同值的函数,具体取决于语言。在系统运行之前,它不是一个常数。
相反,使用:
#define ALERT_OK NSLocalizedString(@"Ok",@"Ok");
现在它会简单地用函数替换 ALERT_OK ,你会没事的。(请注意,您应该对所有全局值使用某种前缀,这样您就不会意外地创建在其他地方使用的具有相同名称的东西。)