Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // RealmProvider.swift
- // Domain Ninja
- //
- // Created by CyberSoft s.r.o. on 02/10/2017.
- // Copyright © 2017 CyberSoft s.r.o. All rights reserved.
- //
- import Foundation
- import RealmSwift
- class RealmProvider
- {
- //SINGLE INSTANCE FOR THE WHOLE APP
- class var sharedInstance: RealmProvider
- {
- struct Singleton
- {
- static let instance = RealmProvider()
- }
- return Singleton.instance
- }
- //USERS
- func getUsers() -> [User]
- {
- let realm = try! Realm()
- let storagedUsers = realm.objects(User.self)
- var users: [User] = []
- for user in storagedUsers
- {
- users.append(user)
- }
- return users
- }
- func storeUser(user: User)
- {
- let realm = try! Realm()
- let storagedUsers = getUsers()
- for user in storagedUsers
- {
- try! realm.write
- {
- realm.delete(user)
- }
- }
- try! realm.write
- {
- realm.add(user, update: true)
- }
- }
- //GENERIC OBJECT STORAGE
- func getObjectsFromStorage(type: Object.Type) -> [Object]
- {
- let realm = try! Realm()
- let storagedObjects = realm.objects(type.self)
- var response: [Object] = []
- for object in storagedObjects
- {
- response.append(object)
- }
- return response
- }
- func storeObjectsToStorage(objects: [Object])
- {
- let realm = try! Realm()
- for object in objects
- {
- try! realm.write
- {
- realm.add(object, update: true)
- }
- }
- }
- func deleteObjects(objects: [Object])
- {
- let realm = try! Realm()
- for object in objects
- {
- try! realm.write
- {
- realm.delete(object)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement