Как обработать возможное хранилище нулевого значения для userdefault в Swift 5? - PullRequest
0 голосов
/ 26 мая 2020
• 1000 значение appFcmToken = nil будет работать только appFcmToken = "some string"

Пожалуйста, предложите лучший способ справиться с этим.

1 Ответ

0 голосов
/ 26 мая 2020

Если вы пытаетесь сохранить необязательные параметры также в appFcmToken, просто сделайте это:

var appFcmToken: String? {
   get {
        UserDefaults.standard.object(forKey: "appFcmToken") as? String
    }
    set {
        UserDefaults.standard.set(newValue, forKey: "appFcmToken")
        UserDefaults.standard.synchronize()
    }
}

В месте настройки appFcmToken добавьте nil coalescing, как это, если вы хотите избежать сохранения nil и вместо этого выберите с пустой строкой вместо nil:

appFcmToken = fcmTocken ?? ""

Изменить: в вашем сценарии вы не получаете fcmTocken из String? (необязательная строка), поэтому у вас нет делать nil coalescing. Если вам нужно указать appFcmToken = nil, я предоставляю код выше.

...