博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iPhone开发教程之相关的plist文件
阅读量:5961 次
发布时间:2019-06-19

本文共 2207 字,大约阅读时间需要 7 分钟。

创建.plist文件并存储

  NSString *errorDesc; //用来存放错误信息

  NSMutableDictionary *rootObj = [NSMutableDictionary dictionaryWithCapacity:4]; //NSDictionary, NSData等文件可以直接转化为plist文件

  NSDictionary *innerDict;

  NSString *name;

  Player *player;

  NSInteger saveIndex;

  for(int i = 0; i < [playerArray count]; i++) {

  player = nil;

  player = [playerArray objectAtIndex:i];

  if(player == nil)

  break;

  name = player.playerName;// This "Player1" denotes the player name could also be the computer name

  innerDict = [self getAllNodeInfoToDictionary:player];

  [rootObj setObject:innerDict forKey:name]; // This "Player1" denotes the person who start this game

  }

  player = nil;

  NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:(id)rootObj format:NSPropertyListXMLFormat_v1_0 errorDescription:&errorDesc];

  这个plistData为创建好的plist文件,用其writeToFile方法就可以写成文件。下面是代码:

  /*得到移动设备上的文件存放位置*/

  NSString *documentsPath = [self getDocumentsDirectory];

  NSString *savePath = [documentsPath stringByAppendingPathComponent:@"save.plist"];

  /*存文件*/

  if (plistData) {

  [plistData writeToFile:savePath atomically:YES];

  }

  else {

  NSLog(errorDesc);

  [errorDesc release];

  }

  - (NSString *)getDocumentsDirectory {

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

  return [paths objectAtIndex:0];

  }

  4 读取plist文件并转化为NSDictionary

  NSString *documentsPath = [self getDocumentsDirectory];

  NSString *fullPath = [documentsPath stringByAppendingPathComponent:@"save.plist"];

  NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:fullPath];

  5 读取一般性文档文件

  NSString *tmp;

  NSArray *lines; /*将文件转化为一行一行的*/

  lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"]

  componentsSeparatedByString:@"\n"];

  NSEnumerator *nse = [lines objectEnumerator];

  // 读取<>里的内容

  while(tmp = [nse nextObject]) {

  NSString *stringBetweenBrackets = nil;

  NSScanner *scanner = [NSScanner scannerWithString:tmp];

  [scanner scanUpToString:@"<" intoString:nil];

  [scanner scanString:@"<" intoString:nil];

  [scanner scanUpToString:@">" intoString:&stringBetweenBrackets];

  NSLog([stringBetweenBrackets description]);

  }

转载地址:http://fcjax.baihongyu.com/

你可能感兴趣的文章
JFinal源码分析------初始化那些事儿
查看>>
处理 允许远程协助连接这台计算机 灰色
查看>>
使用Jquery 加载页面时调用JS
查看>>
css+div+jquery弹出层
查看>>
求职相关(链接,不定期更新)
查看>>
pdo 连接数据库 报错 could not find driver 解决方法
查看>>
设计模式之策略模式
查看>>
JVM介绍
查看>>
Qt中使用QToolBox实现抽屉效果
查看>>
双活数据中心建设之光大实践
查看>>
张晓辉:大众点评的分布式架构是怎样炼成的
查看>>
张军-大数据的理解与分布式进化计算方法
查看>>
spring基础
查看>>
微信用户名乱码问题
查看>>
dubbo remoting(2)
查看>>
maya pyside 多个窗口实例 报错 解决
查看>>
关于文件上传请求第一次为post,后面为get的问题
查看>>
【Qt笔记】QDialog--模态和非模态
查看>>
nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264
查看>>
PowerDesigner生成Excel版本的数据库文件
查看>>