4

可能重复:
iOS:将两个 NSMutableArray 存储在 .plist 文件中

我一直避免使用 plist,因为我不确定如何使用它。

谁能给出一个使用 plist的简单代码示例?我有兴趣将NSArrayor保存NSDictionary到 plist 中,然后稍后再次检索它。

NSArray存储 an或 an有什么优点/缺点NSDictionary吗?此外,关于您可以或不能存储在 plist 中的内容是否有任何规则?

4

1 回答 1

11

您可以将以下数据类型作为值存储在 .plist 文件中:

  • NSArray
  • NSMutableArray
  • NS词典
  • NSMutableDictionary
  • NSData
  • NSMutableData
  • NSString
  • NSMutableString
  • NSNumber
  • NSD日期

使用 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];
 }
于 2012-04-29T15:51:23.567 回答