練習として、ビルトインノートアプリに似たアプリを書こうとしています。
ファイルを保存する方法を理解しておらず、UITableView
に表示しています。
今のところ、ユーザーが入力できるUITextView
があります。私はのボタンも保存しています。
ユーザーが[保存]ボタンをタップすると、保存して後でテーブルビューに表示する必要があります。
私は非常に紛失していますので、関連するチュートリアルなどを知っていれば、非常に感謝しています。iPhoneでのテキストファイルの書き込みと読み込み
答えて
実際のコメント作成者が指摘したように、コアデータや他のデータ永続化戦略を見たいと思うでしょう。あなたが学習経験としてこれを追求する上で死んでセットしている場合は、このようなものはあなたの問題を解決する必要があります。
- (void)writeStringToFile:(NSString*)aString {
// Build the path, and create if needed.
NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* fileName = @"myTextFile.txt";
NSString* fileAtPath = [filePath stringByAppendingPathComponent:fileName];
if (![[NSFileManager defaultManager] fileExistsAtPath:fileAtPath]) {
[[NSFileManager defaultManager] createFileAtPath:fileAtPath contents:nil attributes:nil];
}
// The main act...
[[aString dataUsingEncoding:NSUTF8StringEncoding] writeToFile:fileAtPath atomically:NO];
}
- (NSString*)readStringFromFile {
// Build the path...
NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* fileName = @"myTextFile.txt";
NSString* fileAtPath = [filePath stringByAppendingPathComponent:fileName];
// The main act...
return [[[NSString alloc] initWithData:[NSData dataWithContentsOfFile:fileAtPath] encoding:NSUTF8StringEncoding] autorelease];
}
[NSString writeToFile](https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html)よりも優れていますか? –
こんにちは。この行でエラーとクラッシュが発生しました:[[aString dataUsingEncoding:NSUTF8StringEncoding] writeToFile:fileAtPath atomically:NO]; – kemdo
テキストを保存する最も簡単な方法は、NSUserDefaultsを使用しています。
[[NSUserDefaults standardUserDefaults] setObject:theText forKey:@"SavedTextKey"];
か、あなたはそれぞれの「ファイル」のユーザー名を持っているか、複数のファイル
NSMutableDictionary *saveTextDict = [[[[NSUserDefaults standardUserDefaults] objectForKey:@"SavedTextKey"] mutableCopy] autorelease];
if (saveTextDict == nil) {
saveTextDict = [NSMutableDictionary dictionary];
}
[saveTextDict setObject:theText forKey:fileName];
[[NSUserDefaults standardUserDefaults] setObject:saveTextDict forKey:@SavedTextKey"];
必要なのは、素早く汚れたストリングです。それでは、plistのアプローチに絶対に行きます。しかし、あなたがまったくスケールアップしようとするなら、その使い易さによってもたらされる誘惑に抵抗してみてください。 –
- 1. C#でテキストファイルの読み込み/書き込みを行う
- 2. ローカルファイルからの書き込みと読み込みiPhone
- 3. ファイル読み込みと書き込み
- 4. phpオブジェクトをテキストファイルに書き込み、読み込みますか?
- 5. オブジェクトの書き込み/読み込み
- 6. オンラインSQLiteデータベースの読み込み/書き込みiPhone
- 7. ファイルへの読み書きの高速読み込みと書き込み
- 8. 書き込みテキストファイル
- 9. ASP.NETでのP/Invoke(dllからのテキストファイルの読み込み/書き込み)
- 10. アセンブリ内の読み込みと書き込みと整数ATT
- 11. InputStreamからの読み込みとOutputStreamへの書き込み
- 12. VC++のXMLへの書き込みと読み込み
- 13. ファイルへのC++の読み込みと書き込み
- 14. テキストファイルの読み込み - fopenとifstream
- 15. int型のC++読み込みと書き込み?
- 16. SQLiteの同時読み込みと書き込み
- 17. 共有メモリC++読み込みと書き込みの同期
- 18. Jsonフォーマットへの書き込みと読み込み
- 19. plistファイルへの読み込みと書き込み
- 20. Androidの書き込みと読み込み
- 21. iOS:Plistの読み込みと書き込み
- 22. VB6とVC++バイナリファイルの読み込み/書き込み
- 23. Hibernateでチャンク内のBLOBデータの読み込み/書き込み
- 24. iPhone dev - オブジェクトの配列をファイルに書き込み/読み込み
- 25. PHPファイル読み込みと書き込み
- 26. Android:読み込みと書き込み.mp4メタデータ - タグ
- 27. AndroidからPCへのUSBの読み込み/書き込み
- 28. Androidの書き込み/読み込み中の画像へ
- 29. ELMAHログ情報のカスタムテーブルへの読み込み/書き込み
- 30. テキストファイルからのJavaの読み込み
あなたはおそらく聞きたくない答えているを持ってできるようにしたい場合は、「しないでくださいテキストファイルを使用する "。シリアル化戦略(plists)に組み込まれているものを見ることができます。 – hanno
@hanno-私はまた、plistよりも優れていることをCore Dataを使用して追加します。それは速く、効率的で、もっと重要なのは、スケーラブルなことです。 –