IOS对plist配置文件的读写操作

读取:
---------------------------------------------------------------

复制代码
//首先读取studentInfo.plist中的数据
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"customInfo" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
    
//将学生信息填入视图
NSDictionary *tmpInfo = [dictionary objectForKey: @"Student"];
self.stuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Name"]];
self.stuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Sex"]];
self.stuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Num"]];
    
//将导师信息写入视图
tmpInfo = [dictionary objectForKey: @"Mentor"];
self.mtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Name"]];
self.mtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey: @"Sex"]];
复制代码

 



全新写入:
---------------------------------------------------------------
复制代码
NSMutableDictionary *dictplist = [[NSMutableDictionary alloc ] init];
//定义第一个插件的属性
NSMutableDictionary *plugin1 = [[NSMutableDictionary alloc]init];
[plugin1 setObject:@"张三" forKey:@"name1"];
[plugin1 setObject:@"李四" forKey:@"name2"];
//定义第二个插件的属性
NSMutableDictionary *plugin2 = [[NSMutableDictionary alloc]init];
[plugin2 setObject:@"王五" forKey:@"name1"];
[plugin2 setObject:@"赵斌" forKey:@"name2"];
//设置属性值
[dictplist setObject:plugin1 forKey:@"初一班"];
[dictplist setObject:plugin2 forKey:@"初二班"];
//写入文件
[dictplist writeToFile:plistPath atomically:YES];
复制代码

 

 

//修改某一配置项。

 

复制代码
//载入配置文件。   
    NSString* plistPath = [NSString stringWithFormat:@"%@/letters.plist",[[Globals getResourceManager] getResPath]];
        
    NSMutableDictionary* dicWrite = [[[NSMutableDictionary alloc] initWithContentsOfFile:plistPath] mutableCopy];
    NSMutableDictionary* dicWLetter = [dicWrite objectForKey:letter];
    NSString* v = alertView.tag == 1 ? @"1" : @"0";
    [dicWLetter setValue:v forKey:@"isOk"];
    [dicWrite setValue:dicWLetter forKey:letter];
    
    [dicWrite writeToFile:plistPath atomically:YES];
    [dicWrite release];
    dicWrite = nil;
复制代码

 

 

 

posted @   有容乃大  阅读(12491)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示