Eri*_*ner 3 nsuserdefaults ios swift
我想在 NSUserDefaults 中存储一个可能为 0 的整数。如何区分存储为 0 的整数和 NSUserDefaults 中不存在的键?
根据NSUserDefaults 文档, integerForKey如果 NSUserDefaults 中不存在该键,则返回 0。所以,我的问题是:如何区分不存在的密钥和我存储为 0 的密钥?
您可以使用该objectForKey方法进行检查,因为该方法不会自动返回 0 而是返回 nil,如果该键不存在:
if let yourInteger = NSUserDefaults.standardUserDefaults().objectForKey("yourKey"){
//Key exists
}
Run Code Online (Sandbox Code Playgroud)
你可以为你的 NSUserDefaults 创建一个扩展来检查:
extension NSUserDefaults {
func hasKey(key: String) -> Bool {
return objectForKey(key) != nil
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |