【发布时间】:2019-03-26 12:57:51
【问题描述】:
应用程序在我设置 TextField 委托的那一行崩溃:
listNameTextField = self
在viewDidLoad 方法中
报错
'NSInvalidArgumentException', reason: '-[UIView setDelegate:]: unrecognized selector sent to instance
我已经尝试使listNameTextField 变量strong 超过weak 引用,但这并没有改变问题
import UIKit
class CreateListViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var listNameTextField: UITextField!
var listNameString: String = ""
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Create List"
listNameTextField.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func submitListName(_ sender: UIButton) {
if listNameString != "" {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "ListView")
self.present(controller, animated: true, completion: nil)
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
if let text = listNameTextField.text {
listNameString = text
}
}
}
【问题讨论】:
标签: ios uitextfield swift4 xcode10