objective-c - 将 NSString 写入文件

标签 objective-c ios xcode file

我正在尝试将字符串写入文件并将其存储在我的应用程序内的 applicationSupport 文件夹中。但我的 NSLog() 语句不会在调试器中记录任何内容。我尝试用调试器检查它,我可以看到内容为零,所以我猜测这就是它不输出任何内容的原因,但我不知道为什么它设置为零。有人能看到我的错误吗?

 NSString *document = [[[[[[[[description stringByAppendingString:@" "]stringByAppendingString:focus]stringByAppendingString:@" "]stringByAppendingString:level]stringByAppendingString:@" "]stringByAppendingString:equipment]stringByAppendingString:@" "]stringByAppendingString:waterDepth];
//NSLog(@"%@", document);

//get the documents directory:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *supportDirectory = [paths objectAtIndex:0];

//filename
NSString *filename = [NSString stringWithFormat:[_nameTextField.text stringByAppendingString:@".txt"], supportDirectory];

[document writeToFile:filename atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];

NSString *content = [[NSString alloc]initWithContentsOfFile:filename usedEncoding:nil error:nil];
NSLog(@"%@", content);

最佳答案

文件名错误。它应具有以下格式:“directory/file.extension”。您可以使用方法stringByAppendingPathComponentstringByAppendingPathExtension构造这样一个字符串。

NSString *filename = [supportDirectory stringByAppendingPathComponent:[_nameTextField.text stringByAppendingPathExtension:@"txt"]];

此外,作为旁注,第一行应使用 stringWithFormat 重写,如下所示:

NSString *document = [NSString stringWithFormat:@"%@ %@ %@ %@ %@", description, focus, level, equipment, waterDepth];

关于objective-c - 将 NSString 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352665/

相关文章:

objective-c - 用opengl绘制少于每一帧

ios - 在我的本地 mac 上安装解析器服务器。从第一步到最后一步的完整指南

objective-c - 简单的 Twitter 程序无法运行

ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : '+entityForName: nil is not a legal NSManagedObjectContext

Objective-C 使用继承变量和覆盖继承属性

ios - 缓存在 UIWebView 中不起作用

ios - 如何在后台上传 PHAssets

ios - 设置所选 tableviewCell 背景颜色的框架在 iOS 7 中工作正常,但在 iOS 6 中不行

ios - 您的应用包含非公开 API 使用 - 提交应用

iPhone Obj-C 错误 : assignment of read-only variable 'prop.149' in Xcode