运行 另一个 textViewDidChange
Run another textViewDidChange
如果我 运行 UITextView 扩展中的 textViewDidChange
函数,我不能在其他 类.
中使用 textViewDidChange
请告诉我解决方法。
就是代码如下。
(已简化。)
extension UITextView: UITextViewDelegate {
initValue(){
//Start this method at first.
self.delegate = self
}
//1. If already set this method in this extension
public func textViewDidChange(_ textView: UITextView) {
print("Do something!!")
}
}
class A: UITextViewDelegate{
@IBOutlet weak var textView: UITextView!
func initValue(){
textView.delegate = self
}
//2. This method don't move
func textViewDidChange(_ textView: UITextView) {
print("Nein!! wan can't do anything!!")
}
}
Define the method with a closure like this :
func textViewDidChange(_ textView: UITextView, _ completion: (() -> Swift.Void)? = nil){
completion?()
return
}
Subscribe to the notifications in your viewDidLoad()
like :
textField.addTarget(self, action: #selector(doChanges(_:)), for: .editingChanged)
And add the function to that viewController that lets you do stuff on completion
@objc func doChanges() {
textFieldDidChange(self.textField) {
//doCustomWorkHere
}
}
如果我 运行 UITextView 扩展中的 textViewDidChange
函数,我不能在其他 类.
textViewDidChange
请告诉我解决方法。
就是代码如下。 (已简化。)
extension UITextView: UITextViewDelegate {
initValue(){
//Start this method at first.
self.delegate = self
}
//1. If already set this method in this extension
public func textViewDidChange(_ textView: UITextView) {
print("Do something!!")
}
}
class A: UITextViewDelegate{
@IBOutlet weak var textView: UITextView!
func initValue(){
textView.delegate = self
}
//2. This method don't move
func textViewDidChange(_ textView: UITextView) {
print("Nein!! wan can't do anything!!")
}
}
Define the method with a closure like this :
func textViewDidChange(_ textView: UITextView, _ completion: (() -> Swift.Void)? = nil){
completion?()
return
}
Subscribe to the notifications in your
viewDidLoad()
like :
textField.addTarget(self, action: #selector(doChanges(_:)), for: .editingChanged)
And add the function to that viewController that lets you do stuff on completion
@objc func doChanges() {
textFieldDidChange(self.textField) {
//doCustomWorkHere
}
}