iOS NSUserDefaults删除密钥对象但不删除密钥

时间:2016-08-09 05:53:14

标签: ios nsuserdefaults

如果我们为用户默认值中的密钥设置nil,它也会删除密钥。如果我们要删除对象但保持密钥完好无损。怎么做。任何帮助都会很明显。 感谢

2 个答案:

答案 0 :(得分:0)

NSUserDefaults不支持NSNull。因此,您必须找到您希望代表的任何价值"没有数据"并设置。例如,空字符串,空数组或空字典。然后,您可以区分nil的结果(默认从未设置),您的标记值(表示该值是由您设置但应该表示"没有")或任何普通值。

答案 1 :(得分:-1)

尝试为该密钥设置[NSNull null]

[[NSUserDefaults standardUserDefaults] setObject:[NSNull null] forKey:@"key"];
[[NSUserDefaults standardUserDefaults] synchronize];