是否有可能将NSMutableArray或NSDictionary数据保存为文件在iOS?
我想保存一个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有类似的方法。 请检查这些方法的细节参考。
可能是你可以将字典转换为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]; }