gpt4 book ai didi

swift - 如何测试 integerForKey 是否等于 nil?使用 NSUserDefaults

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:12 35 4
gpt4 key购买 nike

到目前为止,我有一个函数可以尝试查看某人是否已经拥有密码,如果他们还没有,那么它会为他们生成一个。 func checkID() -> Int{

    if (NSUserDefaults.standardUserDefaults().integerForKey("Code") != nil) {

}
else{
var code = Int(arc4random_uniform(1000000000))
NSUserDefaults.standardUserDefaults().setInteger(code, forKey: "Code")
}
return NSUserDefaults.standardUserDefaults().integerForKey("Code")
}

当我尝试说 NSUserDefaults.standardUserDefaults().integerForKey("Code") != nil 时收到错误消息

我收到的错误消息是“Type 'Int' does not conform to protocol 'NilLiteralConvertible'”

我该怎么做才能解决这个问题?我做错了什么?

最佳答案

integerForKey 总是返回一个值。如果什么都没有,只有 0。

所以你应该这样检查:

if let currentValue = NSUserDefaults.standardUserDefaults().objectForKey("Code"){
//Exists
}else{
//Doesn't exist
}

关于swift - 如何测试 integerForKey 是否等于 nil?使用 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089245/

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