在Swift中包装和展开可选对象时会发生什么? [英] What happens while wrapping and unwrapping an optional in Swift?

查看:85
本文介绍了在Swift中包装和展开可选对象时会发生什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var标记为可选的Swift会对其进行包装,并在需要实际值时进行解包.

When a var is marked as an optional Swift wraps it and when actual value is needed unwrapping is performed.

var anOptional : String? = "wrapping"
print("\(anOptional!)  unwrapping")

在包装和展开可选包装时实际上发生了什么?

What actually happens during wrapping and unwrapping of an optional?

推荐答案

一个Optional是具有.None.Some两种可能情况的枚举. .Some案例具有一个关联值,即包装值.要解包",可选的是返回该关联值.就像您这样做:

An Optional is an enum with two possible cases, .None and .Some. The .Some case has an associated value which is the wrapped value. To "unwrap" the optional is to return that associated value. It is as if you did this:

let anOptional : String? = "wrapping"
switch anOptional {
case .Some(let theString):
    println(theString) // wrapping
case .None:
    println("it's nil")
}

这篇关于在Swift中包装和展开可选对象时会发生什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆