Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protocol Item {
- var identifier: String { get }
- var name: String { get set }
- }
- struct SomeItem: Item {
- let identifier: String = UUID().uuidString
- var name: String = "New Item"
- }
- protocol ItemManager {
- /// get some objects matching query criteria
- func objects(matching query: Query) -> [Item]
- /// get a specific object
- func object(withID identifier: String) -> Item?
- /// commit these to disk.
- func save(_ object: Item) throws
- /// deletes the objects from disk.
- func delete(_ objects: [Item])
- /// creates a new object but does not save it.
- func create() -> Item
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement