iOS开发,如何替换plist这个数组下数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发,如何替换plist这个数组下数据相关的知识,希望对你有一定的参考价值。

//从plist文件中读取数据
- (void)readDataFromPlist

//1.先获取文件路径
NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Book" ofType:@"plist"];
//2.根据路径初始化字典对象
self.dic = [NSMutableDictionary dictionaryWithContentsOfFile:filePath];

//将不可边字典变成可变字典

self.addressBook = [NSMutableDictionary dictionaryWithDictionary:_dic];

//将字典封装成对象
//(1)从字典中遍历出key
for (NSString * key in self.dic)
//根据key获取对应的数组
NSArray * groupArr =self.dic[key];

//(5) 创建可变的小数组,存储封装的对象
NSMutableArray * newGroupArr = [NSMutableArray array];
//(3)获取小数组中元素(遍历小数组)
for (NSDictionary * groupDic in groupArr)
//(4)通过字典初始化AddressPerson
AddressPerson * Person = [[AddressPerson alloc]initWithDic:groupDic];

[newGroupArr addObject:Person];//将对象存储到新的可变数组中
RELEASE_SAFE(Person);

//将要原来key对应的存储字典的小数组替换成装有对象的心得可变的数组

[self.addressBook setObject:newGroupArr forKey:key];


//取出字典中所有的key
self.orderedKeys= [[self.addressBook allKeys]sortedArrayUsingSelector:@selector(compare:)];
// NSLog(@"%@",addressBook);

参考技术A 这个根本没必要。。数据都是网络获取的,直接转成模型数组就行。plist也是转成模型解析到view上面去的,VC解析的时候从解析的延迟加载里面判断替换就行。。再不然,新建个同名的,直接writeToFile去沙盒吧 参考技术B 点击替换

以上是关于iOS开发,如何替换plist这个数组下数据的主要内容,如果未能解决你的问题,请参考以下文章

iOS:将两个 NSMutableArray 存储在 .plist 文件中

如何从 plist iOS 中读取数组

从 plist 加载的 iOS 静态 const 数组

如何在 iOS info.plist 文件中本地化字符串数组

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

iOS plist中的新数组用新键覆盖旧数组用不同的键