Swift NSNotificationCenter?
Estou tentando fazer com que o UITextViewTextDidChangeNotification funcione. Sou iniciante no uso do NSNotificationCenter, por isso estou tendo dificuldade para entender exatamente o que está acontecendo. Eu tenho um UITextView em um storyboard e criei um IBOutlet para ele na minha classe ViewController e o chamei de textView.
Esta é a minha função 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);
}
As notificações do teclado funcionam muito bem. Para meu entendimento, eles chamam uma função com o mesmo nome que o seletor. Isso está correto? Ou há algo mais acontecendo aqui? Eu criei uma função chamada keyPressed que tomou um NSNotification como parâmetro, mas essa função nunca foi chamada. Quando eu aciono o teclado, as funções keyboardWillShow e keyboardWillHide são chamadas. Alguém pode explicar o que está acontecendo?