8000 GitHub - shndrs/HandyStorage: It's a wrapper over UserDefaults which act like a LightStorage and work with Codable classes...Trust me it's really handy ;-)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

It's a wrapper over UserDefaults which act like a LightStorage and work with Codable classes...Trust me it's really handy ;-)

License

Notifications You must be signed in to change notification settings

shndrs/HandyStorage

Repository files navigation

hs-shndrs

HandyStorage

Workflow Status codebeat badge Cocoapods Version swift-version swift package manager cocoapods GitHub License Min iOS Version Min macOS Version

In Handy Storage i built an useful thread-safe storage using actors and Swift Concurrency which prevents race conditions. It's super easy to deal with and on top of that you can save Codable Objects permanently.

HOW COOL IS THAT! πŸ™‚

Usage

It's pretty simple, just follow these instructions and you have it, First of all you need a Codable class/struct like below:

struct User: Codable {
    var username: String
    var password: String
}

Save/Insert

This will add a new object to "user-table"

let user = User(username: "Walter", password: "123456")

await HandyStorage.shared.save(object: user, key: "user-table")

Load

Get all users from "user-table"

let users: [User] = await HandyStorage.shared.load(key: "user-table")

Update

Update a specific object with new one

let oldUser: User = await HandyStorage.shared.load(key: "user-table").first
let newUser = HSUser(username: "Harvey", password: "654321")

await HandyStorage.shared.update(oldObject: oldUser, newObject: newUser, key: "user-table")

Save/Insert an array of objects

let user0 = User(username: "Jessica", password: "123456")
let user1 = User(username: "Harvey", password: "654321")
let user2 = User(username: "Mike", password: "321456")

await HandyStorage.shared.saveArray(arrayObject: [user0, user1, user2], key: "user-table")

Delete Item

let user: User = HandyStorage.shared.load(key: "user-table").first

await HandyStorage.shared.delete(object: user, key: "user-table")

Delete Entire Table

This will delete whole "user-table"

await HandyStorage.shared.delete(table: "user-table")

Installation

HandyStorage is available through CocoaPods. To install the latest version, simply add the following line to your Podfile:

pod 'HandyStorage'

And then on your terminal run πŸ‘‡πŸ»:

pod install

spm-lg

  • File > Swift Packages > Add Package Dependency
  • Add https://github.com/shndrs/HandyStorage.git
  • Select "Up to Next Major" with "2.0.1"

Author

sahandraeisi1994@gmail.com, sahandraeisi@yahoo.com, shndrs

License

HandyStorage is available under the MIT license. See the LICENSE file for more info.

About

It's a wrapper over UserDefaults which act like a LightStorage and work with Codable classes...Trust me it's really handy ;-)

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published
0