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文件的创建与读写相关推荐

  1. Python对文件的创建和读写操作

    Python对文件的创建和读写操作 Python提供了文件读写的方法,并且提供了内置的CSV模块,可以对文本文件和二进制文件方便的进行读写操作.除此之外,Python还提供了os模块和shutil模块 ...

  2. iOS开发中plist文件的创建与简单读取(一)

    iOS开发中plist文件的创建与简单读取(一) 1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为 ...

  3. iOS开发中plist文件的创建与简单读取

    1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为Property List,点击创建就可以了 4 ...

  4. iOS Plist 文件的 增 删 改

    一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...

  5. 在plist文件中增删改查

    plist文件是一种轻量级大数据存储方式,它的全名为PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件.Plist文件是以key-value的方式来存取数据的. 创建pli ...

  6. iOS学习之 plist文件的读写

    在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...

  7. plist文件读写,序列化与反序列化,文件的读写[xcode4.4.1]

    这篇学习目标: plist文件读写 对象序列化与反序列化 本地文件的读写 iCloud存储的API 引言 在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Prop ...

  8. golang 文件操作 创建 读写 复制移动 权限 删除

    目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...

  9. python创建csv文件并写入-Python 读写 CSV

    Python 读写 CSV 文件最简单的方法是使用自带的 csv 库,复杂点的可以使用 pandas.今天老唐简单记录一下使用自带的 csv 库怎么进行 Python 的文件读写操作,主要包括新建文件 ...

最新文章

  1. 认识计算机系统反思,《认识计算机系统》教学反思
  2. javafx FlowPane布局
  3. cuDNN兼容性问题造成的caffe/mnist,py-faster-rcnn/demo运行结果错误
  4. Linux signal 编程(转载)
  5. 通过Git进行分支管理
  6. OpenGL ES API(绑定shader)
  7. 修复WordPress中的Cookie阻止错误
  8. 华为鸿蒙系统支持5g吗,华为新机入网:预装鸿蒙OS 不支持5G网络
  9. 计算机视觉实验四-相机标定
  10. mysql 定时调用sp_使用shell脚本调用mysql数据库存储过程,并设置定时任务
  11. undefined reference to 的报错原因记录
  12. 计算机 打印机型号编码不可用,win10系统查看打印机属性中描述不可用的解决方法...
  13. AR游戏能否摘掉“噱头”的帽子跻身主流产业?
  14. 房屋租赁系统 nodejs+vue微信小程序
  15. 项目管理过程-5个管理过程组、10大管理知识域以及对应输入、工具技术和输出
  16. 为什么别人不把你当回事(经典)
  17. spring security 整合sso全记录
  18. 字节跳动测试岗面试跪在二面,复盘失败原因决定再战一次
  19. HAL库实现基于STM32+RN8302B的电压采集
  20. x86_64 OpenWrt/LEDE 环境下使用mentohust配置锐捷上网共享网络

热门文章

  1. 单点登录SSO流程图
  2. 企业级GIS的演变(转)
  3. C# 3.0 New Language Features (Part 1)
  4. 使用Git生成patch和应用patch
  5. Spring工厂注入例子
  6. 使用Apache Archiva搭建Maven Repository Server
  7. acwing算法题--混合背包问题
  8. leetcode算法题--复制带随机指针的链表★
  9. java对比python的优势_Java相比Python3有哪些优势?
  10. oracle自动售票服务器,一种基于Oracle数据库客户端的业务自动处理方法与流程