作为一种做法,我正在尝试编写类似于内置笔记应用程序的应用程序
但我无法弄清楚如何保存文件并将其显示在UITableView
。
现在,我有一个UITextView
用户可以输入。我还有一个保存按钮。
当用户点击保存按钮时,我想保存它,然后将其显示在表格视图中
我非常迷失,所以如果您知道任何相关的教程等,我们将不胜感激。
答案 0 :(得分:23)
正如现实世界中的评论者所指出的,您肯定会想要查看Core Data或其他一些数据持久性策略。如果你已经开始追求这个作为学习经验,那么这样的事情可以解决你的问题:
- (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];
}
答案 1 :(得分:1)
保存文本的最简单方法是使用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"];