NSUserDefaults删除整个plist文件
2016-02-26 15:37
225 查看
我们知道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文件就能 把整个文件删除了。
但是,如果要把整个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文件就能 把整个文件删除了。
相关文章推荐
- 关于xcode插件的使用
- linux配置双网卡 双IP
- linux使用ntfs-3g 挂载NTFS分区
- fstab 文件解释
- Linux磁盘开机自动挂载
- 详细分析Linux系统下du命令的使用
- 跟马哥学linux (lesson 1)
- 开机自动挂载NTFS分区
- Mac OS 显示隐藏文件
- X Window远程图形管理radhat linux5.5
- redhat 5.4 Oracle 10g r2
- linux 硬盘挂载以及添开机启动
- iSCSI磁盘多路径
- rhel7 iscsi 2
- 分区表fstab
- Mac操作技巧
- Linux_lvs集群
- Android ActiveAndroid 设置
- 如何添加swap分区
- NFS配置