我们知道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文件就能 把整个文件删除了。

本文转自 卓行天下  51CTO博客,原文链接:http://blog.51cto.com/9951038/1745321,如需转载请自行联系原作者

NSUserDefaults删除整个plist文件相关推荐

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

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

  2. iOS Plist 文件的 增 删 改

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

  3. 所有接口添加plist文件的写法 swift

    第一步  建立plist文件 @interface JMTConfigUtils : NSObject /** *  获取配置文件中友盟key * *  @return NSString */ - ( ...

  4. iOS开发-plist文件增删改查

    plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...

  5. Plist文件和字典转模型

    模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲 key如果写错了编译器也不会报错 2. 模型概念 概念 专门用来存放数据的对象 特点 一般继承自NSObje ...

  6. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方...

    https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片 // 思路:从main ...

  7. 在plist文件中增删改查

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

  8. 关于plist文件存储方式(swift)

    关于数据持久化操作一直是大家非常关注的问题,我最近看了好多关于数据存储方式的文章,小编在这里写下我的见解,希望能对大家有所帮助! 谈到数据储存,首先要明确区分两个概念,数据结构和储存方式.所谓数据结构 ...

  9. IOS之plist文件

    一.什么是plist文件: plist文件:Property List文件的简称,用于存放数组或者字典等的文本文件.IOS经常使用其存放用户信息,app信息等,如:info.plist文件. 二.pl ...

最新文章

  1. nginx介绍及常用功能
  2. boost::hana::zip_with用法的测试程序
  3. Python绘制PDF文件~超简单的小程序
  4. px, dip, dp,sp使用场景
  5. 某法院HP-P4500存储数据恢复案例
  6. LeetCode-best time to buy and sell stock 2 数组
  7. linux ubantu扩展空间,ubuntu 扩展存储空间
  8. c语言怎么运行出星星,C语言打印星星的问题
  9. Java开发桌面程序学习(七)——ImageView设置图片以及jar包读取fxml文件
  10. kvm 网络配置及克隆
  11. 日语输入法电脑版_如何安装日语输入法?(手机/电脑安装使用指南)
  12. FLEX 字符串处理函数
  13. Fall 2020 Berkeley cs61a hw02答案
  14. 优化poi 导入导出excel,不造成电脑卡死问题
  15. 《孤独的美食家》60家餐厅超全觅食攻略,吃货必收!
  16. 2023最新毕业设计选题 -python毕设选题推荐 - 如何选题 避免被坑
  17. 统信(UOS)虚拟机网络设置
  18. 无密码解锁iPhone
  19. com 如何新打开ac
  20. 信号处理琐碎知识点 — OFDM 正交频分复用

热门文章

  1. 保守的机器学习如何拯救日新月异的我们
  2. MixNet了解一下,来自Google Brain最新SOTA移动AI架构
  3. SAP S4HANA里委外加工采购功能的变化
  4. 人脸识别是怎么识别的?为什么需要大数据?(原理篇)
  5. 项目管理5大过程组与10大知识领域
  6. 机器学习获量子加速!物理学家与计算科学家「自然联姻」
  7. 欢迎参加城市大脑与智慧城市前沿趋势 主题论坛 |未来科技大讲堂 第12期
  8. 量子计算技术发展迅猛,商业潜力初现!如何把握量子计算时代的新机遇?
  9. 挑战权威还是偏离主流?颠覆性研究或将证明神经信号是机械波
  10. DARPA:我们需要一种新型的芯片技术来确保人工智能的长足发展