Swift 4以编程方式引用UITextField

时间:2017-11-24 19:25:35

标签: swift

在Swift中编码相对较新,并且在我第一次使用App的过程中很好,但是,这个问题完全让我感到困惑,我无法理解为什么。

为什么我不能引用InputTextField.text属性?

Playground image

//: A UIKit based Playground for presenting user interface

import UIKit
import PlaygroundSupport

class MyViewController : UIViewController {

    override func loadView() {
        setupInputView()
    }


    func setupInputView () {
        let InputTextField = UITextField()
        InputTextField.text = "Some Text"


        view.addSubview(InputTextField)

    }

}
// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()

print("InputTextField: \(InputTextField.text)")

1 个答案:

答案 0 :(得分:1)

您的代码存在的问题是,您正在设置函数内的textField。因此textField变量具有本地范围,并且myViewController实例无法访问它。首先,您必须将textField作为全局变量。请参阅下面的代码段 -

class MyViewController : UIViewController {
    let inputTextField = UITextField()

    override func loadView() {
        inputTextField.text = "some text"
    }
}
let myViewController = MyViewController()
PlaygroundPage.current.liveView = myViewController
print("TextFieldValue: \(myViewController.inputTextField.text!)")

请记住关于变量命名约定的一件事,它始终以小写字母开头,然后跟随camelCasing。