【发布时间】:2019-12-09 01:55:37
【问题描述】:
要从我的默认值中解开 Double,我似乎必须使用两个 guard let 语句来安全地解开值,如下所示:
guard let distanceAwayPreference = self.defaults.string(forKey: "distancePreference") else {
return
}
guard let doubleDAP = Double(distanceAwayPreference) else {
return
}
– 因为如果我这样做:
guard let DistanceAwayPreference = self.defaults.double(forKey: "distancePreference") else {
return
}
– 我得到错误:
条件绑定的初始化器必须是 Optional 类型,而不是 'Double'
有没有更好的方法让我可以一次性完成,或者在我的应用程序中减少代码?
【问题讨论】:
-
您可以使用 UserDefaults
object(forKey:)它将返回Any?而不是零,因此您可以检查该值是否存在。guard let distance = self.defaults.object(forKey: "distancePreference") as? Double else { return }
标签: swift xcode guard statements