Plist文件的创建与读写
Plist文件(属性列表·Property List)是一种轻量级的存储文件,是使用XML格式以键值对方式进行存储的列表,通常用于用户设置或一些简单的数据存储。
Plist文件的创建方式有两种:①Xcode中创建Plist文件 ②使用代码创建沙盒路径
①Xcode中创建Plist文件
快捷键Command+N -> Resource -> Property List 创建Plist文件(如图):
创建之后,可以添加相应属性(一般为不可修改的数据)。
②使用代码创建沙盒路径
这种方法创建Plist文件,可以进行快速的CRUD(增删改查)操作,也比较容易:
1 #import "ViewController.h" 2 3 @interface ViewController ()<UITextFieldDelegate> 4 5 @property (weak, nonatomic) IBOutlet UITextField *nameField; 6 @property (weak, nonatomic) IBOutlet UITextField *ageField; 7 @property (weak, nonatomic) IBOutlet UITextField *addressField; 8 9 @property(nonatomic,strong)NSString *path; 10 11 @end 12 13 @implementation ViewController 14 15 - (void)viewDidLoad { 16 [super viewDidLoad]; 17 18 self.nameField.delegate = self; 19 self.ageField.delegate = self; 20 self.addressField.delegate = self; 21 22 self.path = [self createPlist]; 23 } 24 25 26 - (NSString*)createPlist{ 27 // 创建Plist文件路径 28 NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; 29 NSString *plistPath = [path stringByAppendingPathComponent:@"temp.plist"]; 30 31 // 创建文件夹管理者 32 NSFileManager *manager = [[NSFileManager alloc] init]; 33 34 // 判断:如若未创建Plist则创建,反之不执行 35 if(![manager fileExistsAtPath:plistPath]) 36 [manager createFileAtPath:plistPath contents:nil attributes:nil]; 37 38 return plistPath; 39 } 40 41 // Plist文件属性设置 42 - (IBAction)saveAction:(id)sender { 43 [self keyboardQuit]; 44 NSDictionary *dict = @{@"name":self.nameField.text, 45 @"age":self.ageField.text, 46 @"address":self.addressField.text}; 47 [dict writeToFile:self.path atomically:YES]; 48 } 49 50 // 控制台查看 51 - (IBAction)showAction:(id)sender { 52 [self keyboardQuit]; 53 NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:self.path]; 54 NSLog(@"NAME:%@", dict[@"name"]); 55 NSLog(@"AGE :%@", dict[@"age"]); 56 NSLog(@"ADDRESS:%@", dict[@"address"]); 57 } 58 59 #pragma mark - keyboard quit: click return 键盘回收 60 - (BOOL)textFieldShouldReturn:(UITextField *)textField{ 61 [self keyboardQuit]; 62 return YES; 63 } 64 65 #pragma mark - keyboard quit: click view 键盘回收 66 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ 67 [self keyboardQuit]; 68 } 69 70 // 取消第一响应者 71 - (void)keyboardQuit{ 72 [self.nameField resignFirstResponder]; 73 [self.ageField resignFirstResponder]; 74 [self.addressField resignFirstResponder]; 75 } 76 77 - (void)didReceiveMemoryWarning { 78 [super didReceiveMemoryWarning]; 79 // Dispose of any resources that can be recreated. 80 } 81 82 @end
我们在Document文件夹中可以查看到已经创建完成Plist文件,之后对Plist文件进行属性设置(写入数据):
再次查看Plist文件,数据已经写入:
转载于:https://www.cnblogs.com/kriskee/p/5306058.html
Plist文件的创建与读写相关推荐
- Python对文件的创建和读写操作
Python对文件的创建和读写操作 Python提供了文件读写的方法,并且提供了内置的CSV模块,可以对文本文件和二进制文件方便的进行读写操作.除此之外,Python还提供了os模块和shutil模块 ...
- iOS开发中plist文件的创建与简单读取(一)
iOS开发中plist文件的创建与简单读取(一) 1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为 ...
- iOS开发中plist文件的创建与简单读取
1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为Property List,点击创建就可以了 4 ...
- iOS Plist 文件的 增 删 改
一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...
- 在plist文件中增删改查
plist文件是一种轻量级大数据存储方式,它的全名为PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件.Plist文件是以key-value的方式来存取数据的. 创建pli ...
- iOS学习之 plist文件的读写
在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...
- plist文件读写,序列化与反序列化,文件的读写[xcode4.4.1]
这篇学习目标: plist文件读写 对象序列化与反序列化 本地文件的读写 iCloud存储的API 引言 在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Prop ...
- golang 文件操作 创建 读写 复制移动 权限 删除
目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...
- python创建csv文件并写入-Python 读写 CSV
Python 读写 CSV 文件最简单的方法是使用自带的 csv 库,复杂点的可以使用 pandas.今天老唐简单记录一下使用自带的 csv 库怎么进行 Python 的文件读写操作,主要包括新建文件 ...
最新文章
- 认识计算机系统反思,《认识计算机系统》教学反思
- javafx FlowPane布局
- cuDNN兼容性问题造成的caffe/mnist,py-faster-rcnn/demo运行结果错误
- Linux signal 编程(转载)
- 通过Git进行分支管理
- OpenGL ES API(绑定shader)
- 修复WordPress中的Cookie阻止错误
- 华为鸿蒙系统支持5g吗,华为新机入网:预装鸿蒙OS 不支持5G网络
- 计算机视觉实验四-相机标定
- mysql 定时调用sp_使用shell脚本调用mysql数据库存储过程,并设置定时任务
- undefined reference to 的报错原因记录
- 计算机 打印机型号编码不可用,win10系统查看打印机属性中描述不可用的解决方法...
- AR游戏能否摘掉“噱头”的帽子跻身主流产业?
- 房屋租赁系统 nodejs+vue微信小程序
- 项目管理过程-5个管理过程组、10大管理知识域以及对应输入、工具技术和输出
- 为什么别人不把你当回事(经典)
- spring security 整合sso全记录
- 字节跳动测试岗面试跪在二面,复盘失败原因决定再战一次
- HAL库实现基于STM32+RN8302B的电压采集
- x86_64 OpenWrt/LEDE 环境下使用mentohust配置锐捷上网共享网络
热门文章
- 单点登录SSO流程图
- 企业级GIS的演变(转)
- C# 3.0 New Language Features (Part 1)
- 使用Git生成patch和应用patch
- Spring工厂注入例子
- 使用Apache Archiva搭建Maven Repository Server
- acwing算法题--混合背包问题
- leetcode算法题--复制带随机指针的链表★
- java对比python的优势_Java相比Python3有哪些优势?
- oracle自动售票服务器,一种基于Oracle数据库客户端的业务自动处理方法与流程