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?
如何在 viewDidLoad 上的 Swift 中显示没有 UITextField 的标准数字键盘