-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathObserverModel.swift
32 lines (26 loc) · 995 Bytes
/
ObserverModel.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//
// ObserverModel.swift
// CheckoutOtpelf
//
// Created by N.A Shashank on 29/05/18.
//
import UIKit
struct ObserverModel {
var dictObservers = [String:Any]()
@discardableResult mutating func addObserver(name:String,observer:Any,selector:Selector,object:Any?) -> Bool {
guard let _ = self.dictObservers[name] as? Bool else{
NotificationCenter.default.addObserver(observer, selector: selector, name: NSNotification.Name(rawValue: name), object: object)
self.dictObservers[name] = true
return true
}
return false
}
@discardableResult mutating func removeObserver(name:String,observer:Any,object:Any?) -> Bool {
guard let _ = self.dictObservers[name] as? Bool else{
return false
}
NotificationCenter.default.removeObserver(observer, name: NSNotification.Name(rawValue: name), object: object)
self.dictObservers[name] = nil
return true
}
}