SwiftUserDefault
现在支持Swift 5.1,您可以使用PropertyWrapper进行使用。
SwiftUserDefault,仅仅是封装NSUserDefaults,让您更容易使用。
struct TestUserDefault {
@UserDefaultsItem("objectTest") static var objectTest: AnyObject
@UserDefaultsItem("stringTest") static var stringTest: String
@UserDefaultsItem("boolTest") static var boolTest: Bool
@UserDefaultsItem("intTest") static var intTest: Int
@UserDefaultsItem("floatTest") static var floatTest: Float
@UserDefaultsItem("doubleTest") static var doubleTest: Double
@UserDefaultsItem("dataTest") static var dataTest: Data
@UserDefaultsItem("dateTest") static var dateTest: Date
@UserDefaultsItem("[Bool]") static var boolArrayTest: [Bool]
@UserDefaultsItem("[Int]") static var intArrayTest: [Int]
@UserDefaultsItem("[String]") static var stringArrayTest: [String]
@UserDefaultsItem("[Data]") static var dataArrayTest: [Data]
@UserDefaultsItem("<String : Int>") static var dictIntTest: [String : Int]
@UserDefaultsItem("<String : String>") static var dictStringTest: [String : String]
@UserDefaultsItem("<String : Date>") static var dictDateTest: [String : Date]
@UserDefaultsItem("<String : Bool>") static var dictBoolTest: [String : Bool]
}
在您的项目中,您可以像上面那样声明您的存储类型,例如,UserDefaultsItem在设置newValue时将会同步,如果newValue为nil,则从NSUserDefaults中移除此键的值。
设置值
TestUserDefault.stringTest = "I'am test"
获取值
let value = TestUserDefault.stringTest // will be optional value "I'am test"
安装
使用CocoaPods安装
pod SwiftUserDefault