Swift - 可选在日志输出中意味着什么?

时间:2014-12-13 00:50:30

标签: ios swift

当我从文本字段中获取值并将其转换为整数时,如果输入5,我会得到Optional(5)的日志输出,如果我输入了1234,则会得到Optional(1234)

Optional()是什么意思?

以下是获取和转换值的代码:

@IBOutlet weak var myInput: UITextField!

// When a button is clicked, I log the value in the UI text field.
@IBAction func someButton(sender: AnyObject) {
  println(self.myInput.text.toInt())        
}

1 个答案:

答案 0 :(得分:0)

可选表示值为Optional类型。它可以是nil或值。使用cocoa api时,大多数方法参数都是可选类型。要从可选值获取实际值,您可以使用if-let绑定或强制它使用!运算符将其解包。假设ve的值为a Int的可选类型。让我们先定义它。

let a: Int? = 5

?表示它是可选值。如果您打印此a,则会写Optional(5)。让我们从中获得实际价值。

if let actualA = a {
    println(actualA)
}

现在如果a不是nil,那么if-let语句中的代码将被执行,它将在控制台上打印5

可选类型用于处理swift中的nil值。它们在工作参数和变量时提供额外的安全性。如果某个值不是可选的,那么它永远不会是nil。因此,我们可以安全地完成工作,而无需担心nil值。