如何nsuserdefault快速自动清除值?我已经尝试过了,但这对我不起作用…
nsuserdefault
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
检查已经存储了多少个密钥
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys.array.count)
仅添加另一个键
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "justAnotherKey1") NSUserDefaults.standardUserDefaults().setBool(true, forKey: "justAnotherKey2")
检查已再次存储了多少个密钥(+2)
现在创建一个循环以删除键的对象
for key in NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys { NSUserDefaults.standardUserDefaults().removeObjectForKey(key.description) }
检查您又有多少把钥匙
更新: Xcode 7.2.1•Swift 2.1.1 (注意NSUserDefaults不再在操场上工作,因此需要在真实项目中进行测试)
print(Array(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys).count) NSUserDefaults.standardUserDefaults().setBool(true, forKey: "justAnotherKey1") NSUserDefaults.standardUserDefaults().setBool(true, forKey: "justAnotherKey2") print(Array(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys).count) for key in Array(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys) { NSUserDefaults.standardUserDefaults().removeObjectForKey(key) } print(Array(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys).count)