18
我想将NSMutableArray
或NSDictionary
保存为永久文件。然后,我想稍后重新打开该文件。是否可以将NSMutableArray或NSDictionary数据保存为iOS中的文件?
这可能吗?如果是这样,我该怎么做?
我想将NSMutableArray
或NSDictionary
保存为永久文件。然后,我想稍后重新打开该文件。是否可以将NSMutableArray或NSDictionary数据保存为iOS中的文件?
这可能吗?如果是这样,我该怎么做?
要在文件
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];
}
感谢taskinoor,让我试试。 – RAGOpoR 2010-09-30 10:47:05
@gef,TRUE/FALSE和YES/NO之间是否有实际区别? – taskinoor 2011-05-22 19:01:13
@taskinoor嗨,应该如何格式化“FILE_NAME”?你能给我一个例子什么文件名可以使用。 – Bazinga 2012-10-25 01:41:49