【发布时间】:2018-06-20 15:42:14
【问题描述】:
我正在快速创建一个函数来检查如果非可选值返回 nil。我的目标只是处理该异常并避免应用程序因意外的 nil 值而崩溃。
我的班级有两个变量:
// My Class variables
var compulsoryValue: Any!
我不想检查optionalValue 为零。编译器返回 Optional.none 或 Optional.some 枚举而不是 nil 或某个值。
我的问题:
我面临的问题是我无法检查此值是否为空。至于清空编译器返回none,而对于value,它返回一些在SwiftOptional Enum 中定义的内容。
Implicitly Unwrapped Optional 只是抛出一个错误,而它有一个 nil 值。
我如何检查应该作为非可选值的值 nil?
更新#1:
我的代码:
class myClass {
var compulsoryValue: Any!
init() {
if type(of: compulsoryValue) != Optional<Any>.self {
// Here I want to check if compulsoryValue is nil so I want to throw an exception
print("this is not optional: ", compulsoryValue)
}
}
}
_ = myClass()
【问题讨论】:
-
显示您需要帮助的实际代码。
-
请检查我的代码,我想在它为 nil 时抛出异常,这应该是非可选值。
-
为什么需要这个?当变量仍然为 nil 时,任何尝试使用隐式解包变量都会自动导致异常。无需编写复杂的代码来检查自己。
-
它没有显示
nil它显示none并且应用程序因此而崩溃。 -
如果要查看,请使用
if compulsoryValue == nil { // it's nil, do something }。
标签: swift exception-handling optional-variables optional-binding