作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试解压字典并将其存储在用户默认值中。字典包含字符串和数字/ bool 值。
在我的用例中,我使用 intergerForKey:
和 boolForKey:
检索数字对于这个用例,我是否需要使用 setInteger:forKey: 将数字存储在用户默认值中,或者我可以使用通用 setObject:forKey: 并给它一个数字*?
- (void)configureWithJSON:(NSDictionary *)conf {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSNumber *timeout = (NSNumber *)conf[@"timeout"];
if(timeout != nil) {
[defaults setInteger:[timeout intValue] forKey:@"timeout"];
}
//OR
[defaults setObject:timeout forKey:@"timeout"];
}
//then, in code I use
[defaults boolForKey:@"timeout"]?
最佳答案
最后,没关系,两者都会起作用。然后可读性开始发挥作用,setInteger
确实比 setObject
更清楚地表达了意图。
关于iOS 用户默认值 - 我需要使用 setInteger :forKey: if I intend to retrieve primitives from defaults using integerForKey:?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143281/
我是一名优秀的程序员,十分优秀!