iOS-读写plist文件
读写plist文件
- 问题,我有一个plist文件,表示56个民族的,但是里面保存的字典,我想转换成一个数组
- 好的,那么就先遍历这个plist,然后将结果保存到一个数组中,这里出现的一个问题就是C语言字符串转换成NSString的问题,一开始使用
- (nullable id)initWithCString:(const char *)bytes,一直出问题,转换后有问题。 - 然后我就换了一个方法
- (nullable id)initWithCString:(const char *)bytes length:(NSUInteger)length这个方法转换后没有问题了。 - 第一个plist是按照26个英文字母为key的字典。
- 结果,按照数组保存。
// 读取56个民族
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"nation.plist" ofType:nil];
NSDictionary *dict2 = [NSDictionary dictionaryWithContentsOfFile:filePath];
// 拼接路径
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *plistPath1 = [paths objectAtIndex:0];
NSString *filename = [plistPath1 stringByAppendingPathComponent:@"nation2.plist"];
NSMutableArray *mutab = [NSMutableArray array];
for (int i = 0 ; i < 26; i ++) {
char x = 65 + i;
NSString *str= [[NSString alloc] initWithCString:&x length:1];
NSArray *arr = dict2[str];
for (NSInteger j = 0; j < arr.count; j ++) {
[mutab addObject:arr[j]];
}
}
// 保存成数组
[mutab writeToFile:filename atomically:NO];
NSLog(@"%@",mutab);
总结
- 主要是C语言字符串和OC字符串的转换,以前也不长做,转换的话,就用下面这个函数
- (nullable id)initWithCString:(const char *)bytes length:(NSUInteger)length
iOS-读写plist文件的更多相关文章
- [IOS微信] PList文件解析,boost数据读取
最近在解析IOS版微信数据中的 mmsetting.archive 文件时,第一次接触到PList文件. 注:mmsetting.archive 不是一个标准的PList文件,其中含有汉字,并且很多 ...
- iOS 中plist文件中配置key值冲突的现象
iOS开发一些特殊的软件需要在项目中配置对应的key值,然而近期在项目中发现一个有意思的现象,苹果官方文档中提供的key值很多,但其实有一些彼此可能有冲突,当你同时配置了彼此冲突的key值,可能会出现 ...
- iOS开发-plist文件增删改查
plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...
- IOS 获取.plist文件的数据
@property (nonatomic,strong) NSArray *apps; //获取.plist数据 /**获取plist文件的数组数据*/ -(NSArray *)apps{ if( ...
- ios读取plist文件:
@property (nonatomic,strong) NSArray *imageData;//定义一个数组 //懒加载数据 -(NSArray *)imageDate { if(_imageDa ...
- plist文件Boolean类型读写方法
http://blog.csdn.net/a6472953/article/details/7659505 转 1.读取plist文件中的Boolean类型的字段值时,要先把它转为NSNumber ...
- Plist文件介绍
开发IOS遇到数据,这里专门做frame sprite数据说明 plist plist是property list的缩写.plist中包括一些命名值和使用Core Foundation类型创建的值的 ...
- (转)iOS学习之 plist文件的读写
在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...
- iOS学习之 plist文件的读写
在做iOS开发时,经经常使用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.pli ...
随机推荐
- HDU 2686 MCMF
题意:两遍最长路,不能走重复点.和UVA 10806类似. 分析:拆点,u->u',MCMF,求的是最大流的最小费用,那么cost取负. 注意的是源点,源点不用拆,那么走出来的最小费用,左上角的 ...
- Catalan数列
引入 今天听学长讲了卡特兰数列后对其有了更深的认识,在此完善了一下之前的博客加以总结. 首先用一个经典的例子来描述一下Catalan数列,我们有一个1~n的数列和一个大小为n的栈,我们有如下两种操作: ...
- [18/12/05]接口(interface)
一.定义(类之上的公共标准) 一个特殊的类,用interface关键字来表示.只有全局变量和抽象方法.解决Java中子类只能单继承的问题 [语法] [访问修饰符:public 或 default] ...
- PHP设计模式——桥接模式
<?php /* * 桥接模式 * 使用发送器,将一个类对象传入另一个类作为属性,耦合M+N个类 * */ abstract class Info { protected $_send = NU ...
- Softmax vs. Softmax-Loss: Numerical Stability
http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/ softmax 在 ...
- 简单的使用git克隆上传创建下载删除
首先我们下载个git 官网:https://git-scm.com/ 我这里下的是64-bit windows setup 下载完成后安装: 一直下一步就好 安装完成后进行打开! 现在我们需要去官网注 ...
- Android学习笔记_33_Widget时钟(MetaData)
Widgets在文档docs\guide\topics\appwidgets\index.html下 Android中AppWidget的分析与应用:AppWidgetProvider 一.在 And ...
- js操作json方法总结
相对于前端的老铁来说JSon并不陌生,JSON JavaScript Object Notation 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是一种理想的数据交换格式. json可以 ...
- JavaWeb遗漏的知识点
1. String javax.servlet.ServletContext.getRealPath(String path)方法 官方文档解释:Gets the real path correspo ...
- Select 语句执行顺序以及如何提高Oracle 基本查询效率
今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下: 首先,要了解在Oracle中Sql语句运行的机制.以下是sql语句的执行步骤: ...