NotificationObserverHelper 1.2

NotificationObserverHelper 1.2

Ratna Paul Saka 维护。



  • 作者
  • RATNA PAUL SAKA

Notification-Observer-Helper

当使用基于 block 的 API 注册 NSNotificationCenter 的通知观察者时,我们将需要手动移除观察者;而当使用基于 selector 的 API 注册 NSNotificationCenter 的通知观察者时,我们需要创建一个新的函数来响应该通知。

这个实用工具旨在解决这个问题。

1) 创建一个 NotificationObserver 类的实例以注册你想注册的通知。2) 在你需要它的时候一直保持对这个实例的引用。

就这样,你做完了。

永远不用担心移除观察者或再次创建新的函数了!!!

上面的代码包含

1) 一个示例项目 2) 验证它的测试

请查看 NotificationObserverHelper.swift 文件获取更多详细信息。

我到目前为止所拥有的优势

  • 在一个地方注册您所有通知的观察者。
  • 使我们编写代码的代码变得更加易读,因为我们不会为了注册选型再创建更多的函数。
  • 我们使用基于 block 的 API,因此使其易于使用且声明式。

不使用实用工具的示例


1) 添加观察者

var observer = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIKeyboardDidShow, object: nil, queue: nil){}

2) 移除观察者

NotificationCenter.default.removeObserver(observer)


1) 添加观察者

NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidShow(note:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)

2) 编写一个响应通知的函数

func keyboardDidShow(note: Notification) {

}


使用实用工具的示例


1) 创建一个变量

var keyboardObserver = NotificationObserver(name: NSNotification.Name.UIKeyboardDidShow, handler: { (note) -> (Void) in print("Did Show Keyboard") })