Свифт NSNotificationCenter?
Я пытаюсь заставить работать UITextViewTextDidChangeNotification. Я новичок в использовании NSNotificationCenter, поэтому мне трудно понять, что именно происходит. У меня есть UITextView в раскадровке, и я создал IBOutlet для него в своем классе ViewController и назвал его textView.
Это моя функция viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
origin = self.view.frame.origin.y
if let field = textView{
field.placeholder = placeholder
field.layer.cornerRadius = 8
field.layer.borderWidth = 0.5
field.layer.borderColor = UIColor.grayColor().CGColor
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyPressed:"), name:UITextFieldTextDidChangeNotification, object: nil);
}
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
}
Уведомления клавиатуры работают отлично. Насколько я понимаю, они вызывают функцию с тем же именем, что и селектор. Это верно? Или здесь происходит что-то еще? Я сделал функцию с именем keyPressed, которая взяла NSNotification в качестве параметра, но эта функция никогда не вызывалась, тогда как когда я включаю клавиатуру, вызываются функции keyboardWillShow и keyboardWillHide. Может кто-нибудь объяснить, что происходит?