使用 NSTextViewDelegate 和 textViewDidChange 不工作来监听 NSTextView 的变化
Listen for changes to NSTextView with NSTextViewDelegate & textViewDidChange not working
我希望每次用户对我的 NSTextView 进行更改时触发一个函数。我让它在 iOS 应用程序中工作,现在正试图让它在 OS X 应用程序中工作。我为我的 NSTextView 创建了一个出口并编写了以下 Swift 代码:
import Cocoa
class ViewController: NSViewController, NSTextViewDelegate {
@IBOutlet var textViewOutlet: NSTextView!
func textViewDidChange(textView: NSTextView) {
print("Text view changed!")
}
}
我没有收到任何错误,但我的声明没有打印出来。
应该是textDidChange(notification:)。像这样尝试:
func textDidChange(_ notification: Notification) {
guard let textView = notification.object as? NSTextView else { return }
print(textView.string)
}
这应该是没有委托分配的原因。
TextViewOutlet.delegate = self;
方法实际上是这样的。注意参数
func textDidChange(_ notification: Notification) {
}
我希望每次用户对我的 NSTextView 进行更改时触发一个函数。我让它在 iOS 应用程序中工作,现在正试图让它在 OS X 应用程序中工作。我为我的 NSTextView 创建了一个出口并编写了以下 Swift 代码:
import Cocoa
class ViewController: NSViewController, NSTextViewDelegate {
@IBOutlet var textViewOutlet: NSTextView!
func textViewDidChange(textView: NSTextView) {
print("Text view changed!")
}
}
我没有收到任何错误,但我的声明没有打印出来。
应该是textDidChange(notification:)。像这样尝试:
func textDidChange(_ notification: Notification) {
guard let textView = notification.object as? NSTextView else { return }
print(textView.string)
}
这应该是没有委托分配的原因。
TextViewOutlet.delegate = self;
方法实际上是这样的。注意参数
func textDidChange(_ notification: Notification) {
}