0

我正在尝试将 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);

我想我需要先创建一个文件,然后再写入它,但我不知道在哪里。我可以给出一个手动路径,例如。我的桌面或文档文件夹并将数组写入文件,但我想当我尝试将它部署到真正的应用程序时它不会工作。所以,请帮忙

4

1 回答 1

0

首先,您应该检查您是否通过以下方式成功写出您的数组:

BOOL success = [myArray writeToFile:filePath atomically:YES];
if(success == NO)
{
   NSLog( @"did not write file to %@", filePath );
}

请记住,只有当数组的内容都是属性列表对象(例如“ NSString”、“ NSData”、“ NSArray”或“ NSDictionary”对象)时,该数组才会写出,否则您将NO通过“ success“布尔。

于 2013-08-19T03:32:32.130 回答