【发布时间】:2016-10-10 07:31:19
【问题描述】:
我创建了一个本地化字符串文件,其中包含键/值对中的错误消息。我只想像 Plist 一样基于键读取值。
这是我的本地化文件的内容
"SERVICE_ERROR" = "Some error occurred while processing your request, Please try later";
这就是我在用户首选项中保存此字符串的方式
[ErrorManager setLastErrorInPreferences:NSLocalizedString(@"SERVICE_ERROR", nil)];
这里是 setLastErrorInPreferences 方法
+ (void)setLastErrorInPreferences:(id)errorString {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSDate *now = [NSDate date];
NSString *errorStringWithTime = [NSString stringWithFormat:@"On %@:\n%@", now, errorString];
[prefs setObject:errorStringWithTime forKey:KlastError];
}
但它不起作用。它只是按原样保存密钥。它没有反映此键在用户首选项中的价值。请让我知道我缺少什么。
【问题讨论】:
-
您的本地化文件中是否只有一行,请检查您输入的最后一个分号以及所有键的
"key"="value";格式。您显示的错误通常是由于无效的本地化文件而出现的。所以再检查一遍 -
不,还有许多其他字符串。我已经检查过了。所有行都有 ;在字符串的末尾。
-
@aqsaarshad 显示您的
setLastErrorInPreferences和您的班级ErrorManager。还要确保文件名应该是Localizable.strings -
@Rajan 现在工作正常。我的错。我使用的是自定义名称,而不是默认的“Localizable.string”名称。
-
非常感谢 :) 感激(Y)
标签: ios iphone localizable.strings