2012-07-11 47 views
0

我正在开发一个应用程序,它有点像一个键入页面的笔记本。在iOS中保存并加载多个字符串到UITextView

我有一个UITextView *documentTextint currentPage跟踪多个页面。后退和前进按钮添加1或从currentPage减1,然后他们将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]; 

感谢您的帮助, -Karl

+0

你真的**重新加载**每页的视图? – Sirens 2012-07-11 17:26:57

+0

不,我只是重置textView – 2456789 2012-07-11 18:16:58

回答

1

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

+0

GAHHHH,这很明显。我现在感到非常愚蠢。非常感谢!!! :) – 2456789 2012-07-11 18:15:28

相关问题