如何在按下按钮时从 UITextField 更新标签

How to update label from UITextField on press of button

所以我知道这可能是一件容易的事,但我从 swift for macOS 和 swift 开发开始。我想做一个简单的应用程序,要求输入一个名字,然后说 "Hello, name"。在 macOS 开发中,一种方法是这样做:

@IBOutlet weak var nameField: NSTextField!
.
// More code here
.
@IBAction func helloButton(_ sender: Any) {
    var name = nameField.stringValue
    if name.isEmpty{
        name = "World"
    }

    let greeting = "Hello, \(name)"
    helloLabel.stringValue = greeting
}

有没有办法为 iOS 做这个或类似的事情?我尝试为 iOS 执行此操作,但它对我不起作用。 "nameField.stringValue" 不存在。任何帮助将不胜感激。

@IBOutlet weak var nameField: UITextField!
.
// More code here
.
@IBAction func helloButton(_ sender: Any) {
   var name = nameField.text!
   if name.isEmpty {
      name = "World"
   }

   let greeting = "Hello, \(name)"
    helloLabel.text = greeting
}

我认为这可能对您有所帮助 -

import UIKit

class ViewController: UIViewController {

    //created a string variable
    var name: String = ""

    //our label to display input
    @IBOutlet weak var labelName: UILabel!

    //this is the text field we created
    @IBOutlet weak var textFieldName: UITextField!

    @IBAction func buttonClick(sender: UIButton) {
        //getting input from Text Field
        name = textFieldName.text!

        //Displaying input text into label
        labelName.text = "Hello \(name)"
    }
}

这是输出 -

参考 - https://www.simplifiedios.net/xcode-text-field-tutorial-ios-using-swift/

谢谢。

对于 iOS,您可以通过使用其 text 属性:

来获取文本字段的字符串值
let greeting = "Hello, \(nameField.text!.isEmpty ? "World" : nameField.text!)"
helloLabel.text = greeting

虽然 text 属性 是一个 可选 字符串,它有一个空字符串作为默认值,所以它永远不会 returns nil 即使你将 nil 分配给它(感谢 @Leo Dabus 的注释)。

此外,您可以通过 text 属性 设置 UILabel (helloLabel) 如上所述。

你可以这样做。

@IBAction func helloButton(_ sender: Any) {
let name = txtSearch.text
        if !name!.isEmpty {
            helloLabel.text = "Hello, \(name)"
        }
}