UserDefaults
as storage provider:
struct Company {
let name: String
}
let provider = UserDefaults.standard
let tesla = Company(name: "Tesla")
let companyKey = "somekey"
tesla.create(provider, key: companyKey).then { (company: Company?) -> Void in
// company: Company?
}
Company.read(provider, key: companyKey).then { company -> Void in
// company: Company?
}
URLSession
as storage provider:
struct Post: Codable {
let title: String
let body: String
}
let provider = URLSession.shared
let url = URL(string: "http://jsonplaceholder.typicode.com/posts")!
let detailUrl = URL(string: "http://jsonplaceholder.typicode.com/posts/1")!
[Post].read(store, key: url).then { posts -> Void in
// posts: [Post]?
}
Post.read(store, key: url).then { post -> Void in
// post: Post?
}
let newPost = Port(title: "Foo", body: "Blah")
newPost.create(store, key: url).then { (post: Post?) -> Void in
// post: Post?
}
CodableStore is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'CodableStore'
Jakub Knejzlik, [email protected]
CodableStore is available under the MIT license. See the LICENSE file for more info.