iPhone 对Plist文件进行读写

本文介绍了如何在iOS应用中读取和写入Plist文件的具体实现方式。包括从文档目录加载Plist文件并将其解析为字典的过程,以及将字典内容保存回Plist文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读Plist文件

 

NSString *errorDesc = nil;

NSPropertyListFormat format;

NSString *rootPath =     [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

  NSString *plistPath = [rootPath stringByAppendingPathComponent:@"bookmarks.plist"];

  if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {

  plistPath = [[NSBundle mainBundle] pathForResource:@"bookmarks" ofType:@"plist"];

  }

  NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];

  context.bookmarksDic = (NSMutableDictionary *)[[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves
  format:&format
  errorDescription:&errorDesc] retain];

  keysArr = [[[context.bookmarksDic allKeys] sortedArrayUsingSelector:@selector(compare:)] retain];

  if (!context.bookmarksDic) {

  NSLog(@"Error reading plist: %@, format: %d", errorDesc, format);

  }
 

 

 写入Plist

 

Context  *context = [Context getInstance];

  NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
  NSUserDomainMask, YES) objectAtIndex:0];

  NSString *plistPath = [rootPath stringByAppendingPathComponent:@"bookmarks.plist"];


  NSString *error;

  NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:context.bookmarksDic
  format:NSPropertyListXMLFormat_v1_0
  errorDescription:&error];


  if(plistData) {

  [plistData writeToFile:plistPath atomically:YES];

  }

  else {

  NSLog(@"%@",error);

  [error release];

  }
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值