iOS对plist文件进行读写

来源:互联网 发布:法军 知乎 编辑:程序博客网 时间:2024/06/06 07:53

把主要的代码先复制过来……
读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];  }
原创粉丝点击