我想将一个NSMutableArray
或者NSDictionary
保存为永久文件,以便稍后重新打开。
这是否可行?如果可以,如何实现?
我想将一个NSMutableArray
或者NSDictionary
保存为永久文件,以便稍后重新打开。
这是否可行?如果可以,如何实现?
写入文件
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有类似的方法。请查看参考文献以获取这些方法的详细信息。
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];
}
FILE_NAME
应该如何格式化?你能给我一个可以使用的文件名示例吗? - Bazinga