从Plist存储和检索
可能重复:
iOS:将两个NSMutableArray存储在.plist文件中
我一直避免使用plists,因为我不确定如何使用。
任何人都可以给一个简单的代码示例使用plist? 我有兴趣将一个NSArray
或NSDictionary
保存到plist,然后再次检索它。
存储NSArray
或NSDictionary
有什么优点/缺点吗? 另外,是否有任何规则,关于你可以或不可以存储在一个plist?
可以将以下数据types作为值存储在.plist文件中:
- NSArray的
- NSMutableArray里
- 的NSDictionary
- 的NSMutableDictionary
- 的NSData
- NSMutableData
- 的NSString
- 的NSMutableString
- 的NSNumber
- 的NSDate
有了NSDictionary,你可以在一个plist中存储由某个键值对组成的关联数组。 如果您只想保存一个数据系列,请使用NSArray。
要将上面的一个对象保存在plist文件中,只需写入:
- (NSString *)dataFilePath { NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; return [documentsDirectory stringByAppendingPathComponent:@"yourFileNameHere"]; } //Write to the plist [myArray writeToFile:[self dataFilePath] atomically:YES]; //Read from the plist if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath]; }