【发布时间】:2014-12-04 12:43:05
【问题描述】:
我正在尝试使用以下代码将一个简单的字符串写入文件:
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",
documentsDirectory];
NSString *content = @"Test Content";
NSError *error = nil;
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:&error];
NSLog(@"Error %@ %@", fileName, error);
但是文件没有写入,错误为空。
我正在 iOS 模拟器中运行代码,并希望将文件写入以下位置:/Users/user/Library/Developer/CoreSimulator/Devices/85DDC17D-A771-40D9-99BE-71FF6B60D2DF/data/ Containers/Data/Application/BD30A945-25DB-4ECE-B7F7-E9C20C6691C7/Documents/textfile.txt(NSLog中fileName的路径)。
【问题讨论】:
-
"
writeToFile:atomically:encoding:" 返回一个 BOOL 值,表示写入成功或失败。在您的情况下,它返回 true 还是 false? -
返回真。但该文件尚未写入。我现在创建了一个测试项目并执行了相同的代码并写入了文件。那么它可能与该项目有关?
-
我已经将上面的代码复制粘贴到一个新的应用程序中,它可以正常工作。您确定您使用的是上面的 EXACTE 代码吗?同时创建 fileName 变量,如:
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"textfile.txt"]; -
你怎么知道文件没有写入?
-
是的,我使用的是确切的代码,正如我在上面已经说过的,该代码适用于我在一个空项目中,它不适用于我当前的项目,该项目最初是为 iOS 7 创建的。
标签: ios objective-c