https://github.com/looseyi/swiftuserdefaults
SwiftUserDefaults wrap NSUserDefaults, easy to use
https://github.com/looseyi/swiftuserdefaults
nsuserdefaults swift3 wrap-nsuserdefaults
Last synced: about 1 month ago
JSON representation
SwiftUserDefaults wrap NSUserDefaults, easy to use
- Host: GitHub
- URL: https://github.com/looseyi/swiftuserdefaults
- Owner: looseyi
- License: mit
- Created: 2017-03-25T16:13:01.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-10-02T12:58:42.000Z (over 5 years ago)
- Last Synced: 2025-04-07T16:03:36.854Z (about 1 month ago)
- Topics: nsuserdefaults, swift3, wrap-nsuserdefaults
- Language: Swift
- Size: 39.1 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## SwiftUserDefault
Now, support Swift 5.1, and you can use by [PropertyWrapper](https://forums.swift.org/t/pitch-3-property-wrappers-formerly-known-as-property-delegates/24961)
**SwiftUserDefault**, which is just wrap NSUserDefaults, make you easy to use.
```swift
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("") static var dictIntTest: [String : Int]
@UserDefaultsItem("") static var dictStringTest: [String : String]
@UserDefaultsItem("") static var dictDateTest: [String : Date]
@UserDefaultsItem("") 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