swift子类化默认值
我有一个应用程序,它有几个属性要存储在NSUserDefault中。实际上,我使用它是一种老派的好方法,只是引用了swift子类化默认值,swift,subclass,nsuserdefaults,Swift,Subclass,Nsuserdefaults,我有一个应用程序,它有几个属性要存储在NSUserDefault中。实际上,我使用它是一种老派的好方法,只是引用了NSUserDefaults.standardDefaults()和设置并获取属性 我最近提出了一个想法,将NSUserDefaults子类化,这样我就可以在那里创建自己的方法,而不必一直编写那些额外的代码行 代码如下所示: class BRUserDefaults: NSUserDefaults { static let defaults = NSUserDefaults
NSUserDefaults.standardDefaults()
和设置并获取属性
我最近提出了一个想法,将NSUserDefaults子类化,这样我就可以在那里创建自己的方法,而不必一直编写那些额外的代码行
代码如下所示:
class BRUserDefaults: NSUserDefaults {
static let defaults = NSUserDefaults.standardUserDefaults()
static func isFirstRun() -> Bool{
var wasFirstRun = defaults.boolForKey(GlobalConstants.userDefaults.wasFirstRun)
return !wasFirstRun
}
static func setIsFirstRun(){
defaults.setBool(true, forKey: GlobalConstants.userDefaults.wasFirstRun)
defaults.synchronize()
}
}
这是一个好方法吗
非常感谢语法看起来不错,但是子类化NSUserDefaults没有任何好处。实际上,您正在自己的类中创建一个普通的NSUserDefaults类。如果要向NSUserDefaults类添加额外功能,也可以创建扩展而不是子类。语法看起来不错,但子类化NSUserDefaults没有任何好处。实际上,您正在自己的类中创建一个普通的NSUserDefaults类。如果要向NSUserDefaults类添加额外的功能,还可以创建扩展而不是子类。