从本地化文件中读取值 iOS
Read values from localized file iOS
我创建了一个本地化字符串文件,其中包含 Key/Value 对中的错误消息。我只想像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];
}
但是它不起作用。它只是按原样保存密钥。它没有反映用户 preferences.Kindly 中此键的值让我知道我缺少什么。
我假设您有一个 Localizable.strings 文件。其他名称均无效。
更改可本地化文件的内容
"SERVICE_ERROR" = "Some error occurred while processing your request, Please try later";
到
SERVICE_ERROR = "Some error occurred while processing your request, Please try later";
(从你的密钥 SERVICE_ERROR 中删除 "" 并在末尾保留一个分号 ;)
还要显示你的 setLastErrorInPreferences
在做什么?
用法
NSString* error = NSLocalizedString(@"SERVICE_ERROR", nil);
NSLog(@"%@",error);
它运行良好。
我的文件
编辑
正在获取错误值。在您的 ErrorManager
class 中创建一些方法并从那里获取它,因为 kLastError
在您的控制器 class.
中不可用
NSString* yourError = [[NSUserDefaults standardUserDefaults] stringForKey:KlastError];
我创建了一个本地化字符串文件,其中包含 Key/Value 对中的错误消息。我只想像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];
}
但是它不起作用。它只是按原样保存密钥。它没有反映用户 preferences.Kindly 中此键的值让我知道我缺少什么。
我假设您有一个 Localizable.strings 文件。其他名称均无效。
更改可本地化文件的内容
"SERVICE_ERROR" = "Some error occurred while processing your request, Please try later";
到
SERVICE_ERROR = "Some error occurred while processing your request, Please try later";
(从你的密钥 SERVICE_ERROR 中删除 "" 并在末尾保留一个分号 ;)
还要显示你的 setLastErrorInPreferences
在做什么?
用法
NSString* error = NSLocalizedString(@"SERVICE_ERROR", nil);
NSLog(@"%@",error);
它运行良好。
我的文件
编辑
正在获取错误值。在您的 ErrorManager
class 中创建一些方法并从那里获取它,因为 kLastError
在您的控制器 class.
NSString* yourError = [[NSUserDefaults standardUserDefaults] stringForKey:KlastError];