gpt4 book ai didi

NSUserDefaults removeObjectForKey 与 setObject :nil

转载 作者:行者123 更新时间:2023-12-03 04:39:56 25 4
gpt4 key购买 nike

下面两行等效吗?

1. [[NSUserDefaults standardUserDefaults]removeObjectForKey:@“示例 key ”]

2. [[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"example key"]

最佳答案

是的,两行代码是等效的,都会导致 nil read

id obj = [[NSUserDefaults standardUserDefaults] objectForKey:@"example key"];
如果未找到 key ,

NSUserDefaults 将返回 nil。我建议使用 removeObjectForKey 而不是将其设置为 nil。

以下是如何测试将键值设置为 nil 是否从 NSUserDefaults standardUserDefaults 中删除了键条目。

NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys] copy];
for(NSString *key in keys) {
NSLog(@"Key Name: %@", key);
}
[keys release];

或者直接转储 NSUserDefaults standardUserDefaults

的键/值字典
NSLog(@"All contents of NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);

关于NSUserDefaults removeObjectForKey 与 setObject :nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com