swift: UITextField 没有名为 text 的成员

Posted

技术标签:

【中文标题】swift: UITextField 没有名为 text 的成员【英文标题】:swift: UITextField does not have a member named text 【发布时间】:2014-06-24 17:42:03 【问题描述】:

我有 @IBAction 关于事件编辑已开始

@IBAction func saveCurrentTextField(sender: UITextField) 

    let myTextField : UITextField = sender as UITextField
    myClass.saveMyTextField(myTextField)


然后我在事件 Touch Up Inside 上有带有@IBAction 的按钮

@IBAction func saveValueOfThoseTextField(sender: UIButton) 

    println("Those textField = \(myClass.thoseTextField)")
    let text : String = myClass.thoseTextField.text


println 返回:

UITextField: 0xb289b80; frame = (165 15; 40 30); text = '15'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; gestureRecognizers = NSArray: 0xb28f730>; layer = CALayer: 0xb289cc0

但是在字符串 let text : String = myClass.thoseTextField.text 上我得到错误:UITextField does not have a member named text

【问题讨论】:

你如何声明该文本字段属性/ 【参考方案1】:

试试:

let text : String = myClass.thoseTextField!.text

您引用的文本字段可能是 IBOutlet,并且是可选的。

【讨论】:

@IBOutlet 标记的属性是隐式展开 选项,因此不需要用! 展开。 这取决于他如何声明。如果他宣布它是可选的,他将不得不打开它。如果他没有,它应该有一个 text 属性,而他似乎没有。 源文本字段是自定义单元格上的文本字段:@IBOutlet var textField: UITextField 在课堂上:var thoseTextField : UITextField? = 无 This is a good writeup of this issue 以及 Apple 文档中关于这是可选的并且需要解包的详细信息。您可以在文档中看到它被声明为可选Declaration SWIFT var text: String?【参考方案2】:

@IBOutlet var txt_RegNumber: [UITextField]!

您可能会喜欢这样,只需删除 [] 因为默认使用数组

【讨论】:

以上是关于swift: UITextField 没有名为 text 的成员的主要内容,如果未能解决你的问题,请参考以下文章

无法从 UITextField 获取文本 - Swift - iOS

如何使用 Swift 在 CustomCell 中实现 inputAccessoryView 到 UITextField?

UITextField没有获取属性swift 4

如何在 viewDidLoad 上的 Swift 中显示没有 UITextField 的标准数字键盘

如何在 Swift 2.0 中检查 UITextField 是不是为空白?有没有更好的方法来计算字符串? [复制]

更改 UISearchBar 中的 UITextField 高度 - Swift 3