iOS NSUserDefaults 存储(二)

NSUserDefaults 使用

单个删除NSUserDefault保存的数据

NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];
[userDefaults removeObjectForKey:@"name"];
[userDefaults synchronize];
  //这行代码一定要加,虽然有时候不加这一行代码也能保存成功,
但是如果程序运行占用比较大的内存的时候不加这行代码,
可能会造成无法写入plist文件中,我试验过,真的是这样的

删除NSUserDefault保存的所有数据

我们先要取到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文件就能 把整个文件删除了。

你可能感兴趣的:(iOS NSUserDefaults 存储(二))