清除 Swift 中的可选变量

Clear an optional variable in Swift

如果我声明一个空图像:

var myImage: UIImage?

然后给它一个值:

myImage = UIImage(named: "drawing.png")

我以后如何删除该值,将其恢复到原来的空状态?

像这样将其值设置回零

myImage = nil
var myImage: UIImage?

基本上是使 UIImage 自动指向 nil 的缩写。

因此,要将其重置为原始值,请说:

myImage = nil

Optional 是 Swift 中的 enum 类型;它有两种情况:

enum Optional<T> : NilLiteralConvertible {
    case None
    case Some(T)
    ...
}

通过将图像分配给您的 Optional<UIImage>,您已经隐式指定了 .Some(image)。要清除它,可以使用 .None。但是由于Optional也符合NilLiteralConvertible,所以可以用更简单明了的nil.

声明为AnyHashable,如果需要更改引用的数据类型:

var x: AnyHashable
myImage = UIImage(named: "drawing.png")