0

我正在开发一个有点像打字页面笔记本的应用程序。

我有一个UITextView *documentText和一个int currentPage来跟踪多个页面。后退和前进按钮加 1 或减 1 currentPage,然后设置文本documentText以匹配 的新值currentPage

但是,当我运行它时,什么都没有保存,只有一个空白文本字段。我认为这是一个问题[saveDocs writeToFile:path atomically:YES encoding:NSUnicodeStringEncoding error:NULL]; ,但我不确定要改变什么,或者这甚至是问题所在。

无论如何,这是我用来保存文本的代码:

- (IBAction)saveDocs:(id)sender {

NSString *saveDocs = documentText.text;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"%@-%d.txt", @"document", currentPage]];
[saveDocs writeToFile:path atomically:YES encoding:NSUnicodeStringEncoding error:NULL];

[[NSUserDefaults standardUserDefaults] setInteger:currentPage forKey:@"CurrentDocument"];


}

此外,在 ViewDidLoad 中,我正在使用以下代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                     NSUserDomainMask, YES);

   currentPage = [[NSUserDefaults standardUserDefaults] integerForKey:@"CurrentDocument"];

NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"%@-%d.txt", @"document", currentPage]];
NSString* doc = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

[documentText setText:doc];

谢谢你的帮助,-卡尔

4

1 回答 1

1

你用 NSUnicodeStringEncoding 编写。但是您使用 NSUTF8StringEncoding 阅读。也许您应该坚持使用 NSUTF8StringEncoding 进行写作和阅读。

于 2012-07-11T17:37:17.890 回答