我正在尝试将NSArray写入文件。这是我用的代码
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"GraphData.txt"];
[myArray writeToFile:filePath atomically:YES];
我找不到要保存文件的路径,因此尝试使用这段代码检索此文件会返回NUll
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"GraphData.txt"];
NSArray *myArray = [NSArray arrayWithContentsOfFile:filePath];
NSLog(@"FROM FILE::: %@ FROM FILE::", myArray);
我想在写入文件之前我需要先创建一个文件,但我不知道在哪里。我可以给出一个手动路径,例如。我的桌面或文档文件夹,并将数组写入文件,但我想当我尝试将其部署到真正的应用程序时它不会工作。所以,请帮忙
答案 0 :(得分:0)
首先,您应该检查是否通过以下方式成功写出了数组:
BOOL success = [myArray writeToFile:filePath atomically:YES];
if(success == NO)
{
NSLog( @"did not write file to %@", filePath );
}
请记住,如果数组的内容都是属性列表对象,则数组将只写出(例如“NSString
”,“NSData
”,“NSArray
”或“NSDictionary
”对象),否则您将通过“NO
”BOOL返回“success
”。