如何安全地打开 textField.text 并将其安全地存储在 属性 中?

How to safely unwrap textField.text and store it safely in an property?

我有 6 个文本字段,我想按下按钮将它们连接成一个字符串(按顺序),然​​后获取该字符串并将其转换为 Int。 我知道如何将字符串转换为 Int。

我一直坚持的是如何在 IBOutlets 下创建一个可选的 属性,然后将可选的展开的 textfield.text 存储到 属性?

我试过的是

@IBOutlet weak var firstTextField: UITextField!

这是 IBOutlet

var firstTextFieldString: String?

也就是属性

然后在一个函数中我说

func functionName(textField: UITextField) {
    if textField == firstTextField {
      if let text = textField.text {
        firstTextFieldString = text
  }
 }
}

UITextFieldtext 属性 是可选字符串 (String?),可以分配给任何其他相同类型的变量。看起来你的插座和 属性 是正确的。

您应该可以将 text 属性 直接分配给 firstTextFieldString 属性。

firstTextFieldString = firstTextField.text

如果您希望在按下按钮时调用某个函数,您可以用 @IBAction 标记该函数并将其连接到情节提要中。

@IBAction func functionName(textField: UITextField) {
    // your function here
}

如果您将所有文本字段引用为出口,您应该能够编写一个函数来直接访问每个字段的文本 属性 并将它们组合在一起。当文本字段没有值时,这完全取决于您想要什么。如果您想将它们视为空字符串,可以在将它们连接在一起之前使用默认值解包它们。

@IBAction func functionName(textField: UITextField) {
    let first = firstTextField.text ?? ""
    let second = secondTextField.text ?? ""
    let third = thirdTextField.text ?? ""
    // etc...
    let result = first + second + third + ...
    // etc...
}