.text 实际上对一个值做了什么?

What does .text actually do to a value?

我想告诉你,我才刚刚开始学习Xcode和Swift,我对这些事情一无所知。话虽如此,如果您能向我解释一下,我将不胜感激。我正在观看 Xcode 一门课程的一系列视频,在视频的某个时刻,老师写了以下代码:

import UIKit

class ViewController: UIViewController {
     @IBOutlet weak var ageTextField: UITextField!
     @IBOutlet weak var resultLabel: UILabel!

     @IBAction func getAge(_ sender: Any) {
          if let age = ageTextField.text

     }
}

他为什么要将 .text 部分添加到文本字段中? .text 告诉 Swift 做什么?文本字段不是文本吗?我可以将 .text 添加到按钮或标签等其他内容吗?

成为 UITextField 并不意味着您只需键入它就可以访问它的内容,但它还有很多属性,例如 attributedPlaceholdertaglayerframe 以及更多用于每个已知目的的属性,并且这些属性在其中定义,加上它从它的超级 类 继承 1 的主干中继承的属性OOP ,所以根据你必须写

let age = ageTextField.text

这里为什么是 if 因为文本 属性 是可选的,这意味着它可以是 nil , "" 或任何当前内容所以你可以

let age = ageTextField.text

if age != nil  {
  then use age! // note ! means get the content of age as it's not nil anymore 
}

这相当于

if let age = ageTextField.text 
  then use age // here age is unwrapped as if let verfies that it has non-nil value 
}