我正在开发一个有点像打字页面笔记本的应用程序。
我有一个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];
谢谢你的帮助,-卡尔