From 08fb8bfd395c591c69e04c919743cf145eb4285f Mon Sep 17 00:00:00 2001 From: janlionly Date: Thu, 15 Oct 2020 16:09:34 +0800 Subject: [PATCH 1/2] feat: support to add notifications for when method --- SwiftNotes/SwiftNotes.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/SwiftNotes/SwiftNotes.swift b/SwiftNotes/SwiftNotes.swift index 9563007..a8c2b19 100644 --- a/SwiftNotes/SwiftNotes.swift +++ b/SwiftNotes/SwiftNotes.swift @@ -17,6 +17,18 @@ import Foundation } } +@discardableResult public func when(_ events: [Notification.Name], + do closure: @escaping (Notification) -> Swift.Void) -> [NSObjectProtocol] { + var protos: [NSObjectProtocol] = [] + for event in events { + proto = NotificationCenter.default.addObserver(forName: event, object: nil, queue: nil) { note in + closure(note) + } + protos.append(proto) + } + return protos +} + // run the closure on an explicit queue @discardableResult public func when(_ event: Notification.Name, doOn queue: OperationQueue, do closure: @escaping (Notification) -> Swift.Void) -> NSObjectProtocol { From 9ca37f8da01c1ae2c6062f831ca468792741e807 Mon Sep 17 00:00:00 2001 From: janlionly Date: Thu, 15 Oct 2020 16:17:34 +0800 Subject: [PATCH 2/2] fix: swift grammar --- SwiftNotes/SwiftNotes.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SwiftNotes/SwiftNotes.swift b/SwiftNotes/SwiftNotes.swift index a8c2b19..3de9e13 100644 --- a/SwiftNotes/SwiftNotes.swift +++ b/SwiftNotes/SwiftNotes.swift @@ -21,7 +21,7 @@ import Foundation do closure: @escaping (Notification) -> Swift.Void) -> [NSObjectProtocol] { var protos: [NSObjectProtocol] = [] for event in events { - proto = NotificationCenter.default.addObserver(forName: event, object: nil, queue: nil) { note in + let proto = NotificationCenter.default.addObserver(forName: event, object: nil, queue: nil) { note in closure(note) } protos.append(proto)