-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUserDefaults+Flow.swift
44 lines (38 loc) · 1 KB
/
UserDefaults+Flow.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
33
34
35
36
37
38
39
40
41
42
43
44
//
// UserDefaults+Flow.swift
// fogofwarchess
//
// Created by 양현서 on 2023/08/16.
//
import Foundation
import Combine
extension UserDefaults {
static let fcmTokenKey = "FCM_TOKEN"
static let roomTokenKey = "ROOM_TOKEN"
var fcmTokenPublisher: AnyPublisher<String?, Never> {
return self.publisher(for: \.fcmToken)
.eraseToAnyPublisher()
}
var roomTokenPublisher: AnyPublisher<String?, Never> {
return self.publisher(for: \.roomToken)
.eraseToAnyPublisher()
}
@objc dynamic var fcmToken: String? {
get {
return string(forKey: UserDefaults.fcmTokenKey)
}
set {
set(newValue, forKey: UserDefaults.fcmTokenKey)
synchronize()
}
}
@objc dynamic var roomToken: String? {
get {
return string(forKey: UserDefaults.roomTokenKey)
}
set {
set(newValue, forKey: UserDefaults.roomTokenKey)
synchronize()
}
}
}