导航:首页 > 文件教程 > plist文件读写

plist文件读写

发布时间:2023-03-27 14:54:53

A. IOS 存储方式(PList、NSUserDefaults、归档、CoreData、数据库文件

iOS开发,plist文件读写那些事 - (jianshu.com)

NSUserDefaults存储轻量级 的本地数据 ,比如要保存一个登陆界面的数据,用户名、密码之类的。

支持的数据类型有 NSString、 NSNumber、NSInteger、NSFloat、BOOL、NSArray、NSDictionary、NSDate、系统定义的数据类型。

用NSUserDefaults存储的数据下次程序运行的时候依然存在 .它的数据存储在应用程序内置的一个plist文件里, 在/Library/Prefereces沙盒路径下.

NSUserDefaults是定时把缓存中的数据写入磁盘的,而不是即时写入,为了防止在写完NSUserDefaults后程序退出导致的数据丢失,可以在写入数据后使用synchronize强制立即将数据写入磁盘:

使用NSKeyedArchiver 对数据进行 归档 反归档(将自定义类型转换为NSData类型:)

NSuserDefaults 的坑
iOS 最终,我还是决定放弃使用NSUserDefaults了 - (jianshu.io)

归档: ,就是将数据写到一个文件里面去。一般我们的应用的变量常量之类的数据都是在内存里面的,只要APP关闭,这些数据都会丢失。但是把数据存储到文件里面去,就能将数据保存到本地磁盘里面(目前iOS基本就是在沙盒里面操作了),不管是APP关闭还是重启设备,下次启动APP的时候都能够读出来。

解档: (别人也叫反归档),就是将数据从文件里面读取出来。在程序里面使用。

【iOS】数据持久化:使用NSKeyedArchiver进行数据归档 - (jianshu.com)

iOS 开发Core Data使用方法 – 技术狗 (jishudog.com)

IOS 开发文件操作——NSFileManager - 星语海蓝 - 博客园 (cnblogs.com)
(15条消息) iOS文件操作_你有故事,我囿酒-CSDN博客

参考:
iOS开发 - 关于 NSUserDefaults 的使用 - (jianshu.com)

B. iOS 中 plist 文件的使用

解释一下,plist 文件就是 Property List 文件,我们在 Xcode 中新建一个 Project 的时候,在 Project 中可以看到有一个 Info.plist 文件,这种以 .plist 后缀结尾的文件是以 key-value 键值对的形式保存数据的。在开发中,我们可以使用这些 plist 文件保存一些系统配置、用户信息等的信息,炒鸡方便。

这样吧,我搞一个 plist 文件,里面放有一些城市列表数据,然后把它读取出来。

新建一个 Property List 文件(以下简称 plist 文件),姑且起个名字 Cities.plist

打开 Cities.plist 文件,发现它可以存储 Array(数组)和 Dictionary(字典)数据

由于城市列表就是个数组,所以我们在 Root 这个 key 中的 Type 选择 Array,并往里面添加点城市数据

添加完模拟数据,才发现添加的不是城市数据...算了,当作城市吧
其实 plist 文件本质就是一个 xml 文件

控制台打印:

这样拿到数据就可以对它进行一些处理了。
好吧,我只是经常要用到记录一下而已🌚

C. 用触动怎么读取plist的数组

.plist文件里面放的可能是数组也可能是字典,我们如果直接用NSLog方法打印数组,字典的时候,我们会得到的就是这样的编码格式的内容,这显然是不能用在android的,所以我们的思路是要将.plist中的内容打印为我们能处理的内容,那就是JsonString了。所以iOS这边的做法,如图片所示,先将plist文件放入,然后读取出内部的数组信息,然后用SBJson转化为NSString,然后在NSLog打印出来,运行程序我们会得到

D. iOS开发,plist文件读写操作

这里有一点需要注意:
命名的时候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否则会与系统中存在的Info.plist文件发生冲突。

点击Root这一行,然后通过点击右键->Add Row或者点击Root后面的加号来增加一行。
这一行中包含三个属性,key、type、value。其中key是字段属性,type是字段类型,value是字段对应的值。
Type包含7中类型,对写入的数据结构应属于7仲:
(NSString,NSData,NSDate,NSNumber,NSArray,NSDictionary)

读取数据
文件是什么类型,就用什么类型的数据来接收

参考文档1: iOS开发,plist文件读写那些事
参考文档2: iOS开发中怎么创建Plist文件
参考文档3: 【iOS】plist无法写入的原因
参考文档4: plist 文件写入与读取

E. 请问如何读入数据,plist文件(用记事本即可打开)

plist文件用记事本打开方法如下:
1.
打开系统记事本程序:
2.
输入System.Diagnostics.Process.Start("notepad.exe")
3.
用记事本程序打开一个txt文件:
例如在D盘的【abc.txt】文件,传入文件的路径参数即可,如下:
System.Diagnostics.Process.Start("notepad.exe",
"D:\\a.txt");

F. ios 怎么从 plist读取应用名字

在IOS中,读取系统产生的文件和用户自定义的plist文件写法是不一样的,系统产生的plist文件和用户自定义的plist文件的代码定法是不一样。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

//读取自定义的 plist文件的写法

// NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"customInfo" ofType:@"plist"];
// NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
// NSLog(@"dictionary = %@",dictionary);
//将学生信息填入
// NSDictionary *tmpInfo = [dictionary objectForKey:@"Student"];
// self.txtStuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
// self.txtStuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];
// self.txtStuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Num"]];
//将导师信息填入
// tmpInfo = [dictionary objectForKey:@"Mentor"];
// self.txtMtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
// self.txtMtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];

//读取系统产生的 plist文件的写法

NSDictionary *plistDic = [[NSBundle mainBundle] infoDictionary];
NSLog(@"plistDic = %@",plistDic);

//将学生信息填入
NSDictionary *tmpInfo = [plistDic objectForKey:@"Student"];
self.txtStuName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
self.txtStuSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];
self.txtStuNum.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Num"]];
//将导师信息填入
tmpInfo = [plistDic objectForKey:@"Mentor"];
self.txtMtName.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Name"]];
self.txtMtSex.text = [NSString stringWithFormat:@"%@", [tmpInfo objectForKey:@"Sex"]];

}

G. ios开发怎么读取plist文件

首先要知道读取plist文件的方法,一般来说,使用代码

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"listFileName" ofType:@"plist"];
NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

已经足够了,此时可以使用NSLog例程查看array和dictionary的内容。不过,有时候受plist文件内容的限制,array内容可能为空。

其实,用dictionary就已经足够了,在下面的例子里我们也只用dictionary。

1、运行Xcode4.2,新建一个Single View Application,名称为ReadPlistFile,其他设置如下图:

2、新建我们自己的plist文件:

File —> New —> New File,选择Mac OS X下的Property List

文件名为 customInfo,Group选择Supporting Files。

3、单击新建的customInfo.plist,我们添加数据,如下图:

注意,Type一项的类型,选择的是Dictionary,以Source Code打开,显示如下:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Student</key>
<dict>
<key>Name</key>
<string>Yang</string>
<key>Sex</key>
<string>Male</string>
<key>Num</key>
<string>SX_010</string>
</dict>
<key>Mentor</key>
<dict>
<key>Name</key>
<string>Gu</string>
<key>Sex</key>
<string>Male</string>
</dict>
</dict>
</plist>

4、为视图添加控件:

单击BIDViewController.xib,打开IB,拖几个控件上去,并设置好布局,如下图:

上图中所有的控件都是Label,并设置了字体大小。

5、接下来就是映射呗,把五个灰色的Label都映射到BIDViewController.h文件中,类型都是OutLet,名称依次是stuName,stuSex,stuNum,mtName,mtSex。

6、单击BIDViewController.m,在viewDidLoad方法中的[super viewDidLoad]之后添加如下代码:

//首先读取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"]];

7、运行,查看效果:

阅读全文

与plist文件读写相关的资料

热点内容
iphone打开html文件 浏览:63
java操作excel之poi 浏览:700
java集合同步 浏览:861
软工大数据软考考什么 浏览:190
受控体系文件的封面有什么内容 浏览:778
梦幻锦衣是哪个文件夹 浏览:811
raid模式不能黑苹果 浏览:859
如何优化网站推广方案 浏览:40
编程怎么入门去极客时间 浏览:504
查看oracle数据库字符集编码 浏览:658
pscc恢复文件 浏览:245
钉钉怎么上网络直播课 浏览:595
怎么用手机qq扫描文件在哪里 浏览:17
微信瓶子怎么提示用完了 浏览:288
步步高文件保密柜在哪个文件夹 浏览:562
电信营业厅app怎么查询uk码 浏览:282
ls可编程控制器如何使用 浏览:388
扩展名为的文件是视频文件 浏览:761
如何安装my配置文件 浏览:324
卡死安卓机代码 浏览:127

友情链接