获取.strings文件的文本

时间:2014-01-26 16:16:09

标签: ios objective-c encoding localizable.strings

我正在尝试在.strings中显示UITextView文件的文字。这是我的代码:

self.textview.text = [[NSString alloc] initWithContentsOfFile:self.txtPath encoding:NSUTF8StringEncoding error:nil];

但似乎编码错误,因为每当UITextView为空时,其中都没有文字。但它适用于.txt.log和其他文件。那么如何获取.strings文件的文本?

enter image description here

1 个答案:

答案 0 :(得分:1)

.strings文件倾向于使用NSUTF16LittleEndianStringEncoding编码创建,而不是UTF-8。

BTW - 您可以轻松查看Xcode项目中任何文件的编码。在Xcode中打开右侧窗格。然后在项目树中选择一个文件。在右侧窗格中,查找“文本设置”部分。它有一个“文本编码”条目。

另一件事。更容易解决这样的问题。分解代码以便于调试并使用error参数。

NSError *error = nil;
NSString *text = [[NSString alloc] initWithContentOfFile:self.txtPath encoding:NSUTF8StringEncoding error:&error];
if (text) {
    self.textview.text = text;
} else {
    NSLog(@"Unable to load text from %@: %@", self.txtPath, error);
}