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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述