NSUserDefaults删除整个plist文件
我们知道NSUserDefaults可以保存某些信息在本地,例如登录的账号,密码等等,当我们使用NSUserDefaults时,它是将信息写入到本地的一个plist文件里,我们都知道 删除plist里的某一项内容直接用[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];这样就可以直接删除 plist中的某一个特定的项的内容了,
但是,如果要把整个plist文件删除,那应该怎么样呢???
其实也不难,我们要知道删除整个plist文件实际上就是把plist文件中的所有item删除就行了,也就是说,如果plist文件里只有一项内容,
NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:"张三" forKey:@"name"];
[userDefaults synchronize]; //这行代码一定要加,虽然有时候不加这一行代码也能保存成功,但是如果程序运行占用比较大的内存的时候不加这行代码,可能会造成无法写入plist文件中,我试验过,真的是这样的
这样,我们就往plist文件中写入了一个name的item。
接下来,我们这么写:
NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];
[userDefaults removeObjectForKey:@"name"];
[userDefaults synchronize];
这样你会发现,plist文件消失了,但是如果我们写入的内容不仅仅是一项那要怎么删除所有的呢?
其实原理和只有一个item时候是一样的,我们删掉plist文件也就是相当于把plist文件里的所有item依次删除,对,就这么简单。
下面看一下代码:
我们先要取到plist文件里的所有的Key 否则 是不能用 removeObjectForKey:key 这个方法来删除的,那么怎样获得plist文件中素有item的key呢,dictionary 有一个方法 [dictionary allKeys];返回值是一个数组,这样我们能拿到dictionary中所有的 key,
我们知道我们写入的plist文件中的项目是以一个字典的形式保存的,所以,
代码如下:
NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];
NSDictionary *dictionary = [userDefaults dictionaryRepresentation];
for(NSString* key in [dictionary allKeys]){
[userDefaults removeObjectForKey:key];
[userDefaults synchronize];
}
这样自己通过 NSUserDefaults 写入到本地的plist文件就能 把整个文件删除了。
NSUserDefaults删除整个plist文件相关推荐
- plist文件读写,序列化与反序列化,文件的读写[xcode4.4.1]
这篇学习目标: plist文件读写 对象序列化与反序列化 本地文件的读写 iCloud存储的API 引言 在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Prop ...
- iOS Plist 文件的 增 删 改
一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...
- 所有接口添加plist文件的写法 swift
第一步 建立plist文件 @interface JMTConfigUtils : NSObject /** * 获取配置文件中友盟key * * @return NSString */ - ( ...
- iOS开发-plist文件增删改查
plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...
- Plist文件和字典转模型
模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲 key如果写错了编译器也不会报错 2. 模型概念 概念 专门用来存放数据的对象 特点 一般继承自NSObje ...
- iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方...
https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片 // 思路:从main ...
- 在plist文件中增删改查
plist文件是一种轻量级大数据存储方式,它的全名为PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件.Plist文件是以key-value的方式来存取数据的. 创建pli ...
- 关于plist文件存储方式(swift)
关于数据持久化操作一直是大家非常关注的问题,我最近看了好多关于数据存储方式的文章,小编在这里写下我的见解,希望能对大家有所帮助! 谈到数据储存,首先要明确区分两个概念,数据结构和储存方式.所谓数据结构 ...
- IOS之plist文件
一.什么是plist文件: plist文件:Property List文件的简称,用于存放数组或者字典等的文本文件.IOS经常使用其存放用户信息,app信息等,如:info.plist文件. 二.pl ...
最新文章
- nginx介绍及常用功能
- boost::hana::zip_with用法的测试程序
- Python绘制PDF文件~超简单的小程序
- px, dip, dp,sp使用场景
- 某法院HP-P4500存储数据恢复案例
- LeetCode-best time to buy and sell stock 2 数组
- linux ubantu扩展空间,ubuntu 扩展存储空间
- c语言怎么运行出星星,C语言打印星星的问题
- Java开发桌面程序学习(七)——ImageView设置图片以及jar包读取fxml文件
- kvm 网络配置及克隆
- 日语输入法电脑版_如何安装日语输入法?(手机/电脑安装使用指南)
- FLEX 字符串处理函数
- Fall 2020 Berkeley cs61a hw02答案
- 优化poi 导入导出excel,不造成电脑卡死问题
- 《孤独的美食家》60家餐厅超全觅食攻略,吃货必收!
- 2023最新毕业设计选题 -python毕设选题推荐 - 如何选题 避免被坑
- 统信(UOS)虚拟机网络设置
- 无密码解锁iPhone
- com 如何新打开ac
- 信号处理琐碎知识点 — OFDM 正交频分复用