ZhouJiatao's Blog

iOS 如何监听UITextField的内容变化

向NSNotificationCenter注册一个notification,notification名称为UITextFieldTextDidChangeNotification,object指向需要监听的UITextField,queue为主线程,当接受到notification后,block被执行,因此在block中编写你的处理代码。
以下为示例代码:

private func observeTextField() {
      let center = NSNotificationCenter.defaultCenter()
      let queue = NSOperationQueue.mainQueue()
      center.addObserverForName(UITextFieldTextDidChangeNotification, 
                                  object: textField,
                                   queue: queue) { (NSNotification) -> Void in
                                        print(“did Change”)
                                              }
}

通常我们会在 viewDidAppear方法中添加notification,在viewWillDisappear移除notification,这样能保证程序的效率。

demoCode