UITextView数据更改为swift

你怎么能用Swift检测UITextView的数据变化? 以下代码不会执行任何检测。

我正在声明UITextView

 @IBOutlet weak var bodyText: UITextView! optional func textViewDidChange(_ textView: UITextView!) { println(bodyText.text) } 

感谢Scott

你需要设置UITextView 委托,并在其中实现textViewDidChange:方法。 不幸的是,我不知道在线是否有迅速的文档。 所有链接都转到了Objective-C文档。

代码将如下所示

 class ViewController: UIViewController, UITextViewDelegate { //If your class is not conforms to the UITextViewDelegate protocol you will not be able to set it as delegate to UITextView @IBOutlet weak var bodyText: UITextView! override func viewDidLoad() { super.viewDidLoad() bodyText.delegate = self //Without setting the delegate you won't be able to track UITextView events } func textViewDidChange(textView: UITextView) { //Handle the text changes here print(textView.text); //the textView parameter is the textView where text was changed } } 

设置UITextView代理。请参阅UITextViewDelegate

把它viewDidLoad

 bodyText!.delegate = self