The Wayback Machine - http://web.archive.org/web/20201119134104/https://github.com/looseyi/SwiftUserDefaults
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

README.md

SwiftUserDefault

Now, support Swift 5.1, and you can use by PropertyWrapper

SwiftUserDefault, which is just wrap NSUserDefaults, make you easy to use.

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]
}

In your project, use can declear your store type, like above, UserDefaultsItem would synchronize it once you set newValue, if newValue is nil, the key's value would be remove from NSUserDefaults.

set value

TestUserDefault.stringTest = "I'am test"

get value

let value = TestUserDefault.stringTest // will be  optional value "I'am test"

Install

By CocoaPods use:

pod SwiftUserDefault

About

SwiftUserDefaults wrap NSUserDefaults, easy to use

Topics

Resources

License

Packages

No packages published
You can’t perform that action at this time.