在Swift中编码相对较新,并且在我第一次使用App的过程中很好,但是,这个问题完全让我感到困惑,我无法理解为什么。
为什么我不能引用InputTextField.text属性?
//: 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)")
答案 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。