如何安全地打开 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
}
}
}
UITextField
的 text
属性 是可选字符串 (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...
}
我有 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
}
}
}
UITextField
的 text
属性 是可选字符串 (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...
}