无法在 Swift 中获取 UITextField 的 .text 属性 -- 错误:"实例成员 'textFieldName' 不能用于类型'ViewController'



我要做的就是从我的main.storyboard上的UITextField对象获取文本输入。 两个@IBOutlet对象都显示它们链接到正确的文本字段对象。 但是,当我尝试使常量 meenieOneText 采用 meenieOne UITextField 的 .text 属性的值时,我收到错误消息"实例成员 'meenieOne' 不能在类型'ViewController'上使用。

我在这方面真的很新,所以我可能会做一些简单完全错误的事情,但我对此很机智,因为它对我来说看起来是正确的。

任何帮助都非常感谢。

提前感谢!

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var meenieOne: UITextField!
    @IBOutlet weak var meenieTwo: UITextField!
    let meenieOneText: String = meenieOne.text

试试这个:

var meenieOneText: String = ""
override func viewDidLoad() {
  super.viewDidLoad()
  meenieOneText = meenieOne.text!
}

您遇到了问题,因为在 iOS 中,情节提要元素虽然可访问,但在您尝试访问其属性时可能尚未初始化(例如,用户看不到它们)。确保元素初始化的最简单方法是在 viewDidLoad() 之后访问它们。还有其他阶段,例如"viewDidDisappear"等。请参阅此处有关 ViewController 的 Apple 文档:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/

不能直接在类中使用UITextField的属性。 在任何函数中编写相同的代码。它工作正常。

最新更新