这个问题在这里已有答案:
if let seen: Bool = defaults.bool(forKey: UtilitiesKeys.mainTutorialSeen) {
return seen
}
return false
如果我这样做,swift给我一个问题:
从'Bool'到'Bool'的条件演员总是成功,在选项中检查中使用的'Bool'类型的非可选表达式 .
由于我的密钥可能没有值,我不想强行打开它 . 现在显然它的工作方式是这样的,但是如何在没有快速抱怨的情况下安全地展开 Value 呢?
我也试过用卫兵......
3 回答
正如doc中所建议的:
它不再是可选的 . 因此您不需要使用
if let
进行强制转换 .你可以直接使用:
Apple文件说:
Initializer for conditional binding must have Optional type, not 'Bool'
希望这能帮助你 .