0

タイプされたページのノートブックに少し似たアプリに取り組んでいます。

複数のページを追跡するためにUITextView *documentTextとがあります。int currentPage戻るボタンと進むボタンは、 に 1 を加算または 1 を減算してから、 の新しい値に一致するようcurrentPageにテキストを設定します。documentTextcurrentPage

ただし、実行すると何も保存されず、空白のテキスト フィールドが表示されます。の問題だと思いますが[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 に答える