是否有可能将NSMutableArray或NSDictionary数据保存为文件在iOS?

我想保存一个NSMutableArrayNSDictionary作为永久文件。 然后,我想稍后重新打开文件。

这可能吗? 如果是这样,我该怎么办呢?

写入文件

 NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
 NSString * documentsDirectory = [paths objectAtIndex:0];
 NSString * filePath = [documentsDirectory stringByAppendingPathComponent:FILE_NAME];

 [myArray writeToFile:filePath atomically:YES];

从文件中读取

 NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
 NSString * documentsDirectory = [paths objectAtIndex:0];
 NSString * filePath = [documentsDirectory stringByAppendingPathComponent:FILE_NAME];

 myArray = [NSArray arrayWithContentsOfFile:filePath];

如果文件不存在,myArray将为零。 和NSDictionary有类似的方法。 请检查这些方法的细节参考。

可能是你可以将字典转换为JSON数据,并将其写入文件。

 NSDictionary *dict = /* the NSDictionary/NSArray you need to write */ NSError *writeError = nil; NSData* data; data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&writeError]; if (!writeError) { [data writeToFile:filePath atomically:YES]; }