Git Hub
коротко

Трюк использования #function

6 июня 2017, 18:27

UserDefaults

let isInstalledErlier = UserDefaults.standard.bool(forKey: "isInstalledErlier") ?? false
        
        if isInstalledErlier {
            
            UserDefaults.standard.set(true, forKey: "isInstalledErlier")
        }

Если создать расширение для UserDefaults

extension UserDefaults {
    var isInstalledErlier: Bool {
        get { return bool(forKey: #function) }
        set { set(newValue, forKey: #function) }
    }
}

то использовать будет проще

if UserDefaults.standard.isInstalledErlier == false {
            // тут какой-то полезный код
            UserDefaults.standard.isInstalledErlier = true
        }

Пример

extension UserDefaults {
    var firstLaunch: Bool {
        get { return bool(forKey: #function) }
        set { set(newValue, forKey: #function) }
    }
}
extension UserDefaults {
    var isActivated: Bool {
        get { return bool(forKey: #function) }
        set { set(newValue, forKey: #function) }
    }
    
    var appName: String {
        get { return string(forKey: #function)! }
        set { set(newValue, forKey: #function) }
    }    
}
UserDefaults.standard.appName = "Tinder"
Поделиться
Популярное