为什么我们需要快速编程语言中的可选选项?

时间:2019-01-26 17:30:57

标签: swift

可选用例有哪些用例,可选用在什么情况下可以满足?

3 个答案:

答案 0 :(得分:4)

optionals背后的想法是,当变量不包含值时,具有一个一致的值nil。这是为了消除一些任意的sentinel value

考虑一些整数值:如果没有可选值,那么如果尚未真正设置变量,则应设置哪个值?有时0可能有效。在其他时候,您可以使用-1。在其他情况下,您可以使用Int.max。最终很难始终如一地知道要使用什么哨兵值。这是最简单的类型之一,整数。处理其他类型时,它甚至变得更加混乱。

我们要消除猜测,并采用一种一致的方式来指定未设置变量。可选功能可以达到此目的。

答案 1 :(得分:1)

可选是swift真正强大的功能。 使用可选的,您可以检查变量是否包含值。

考虑到我们已经声明了一个变量来保存另一个名为 BViewController

viewController 的对象
var vc: BViewController?

只要您使用此功能,就可以直接执行以下操作:

vc?.someproperty = value

此语句首先检查 vc 变量中的值,如果该值为nil,它将不再执行。

这只是一个示例,您将在整个项目中使用可选

答案 2 :(得分:0)

Optional是Swift语言中的一种类型,没什么花哨的。诠释和诠释? (可选的Int)是两种不同的类型,如果您的变量恰好是Int类型,则您可以绝对确定它始终具有整数值,并且如果您的变量是Int类型?它要么是整数值,要么根本没有值(换句话说,它将是nil)。

认为可选为包装类型。就像是将值包装在里面的礼品盒一样,就像现实生活中的盒子一样,可选对象可以包含某些内容或为空。