Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 2.08 KB | None | 0 0
  1. //
  2. //  RealmProvider.swift
  3. //  Domain Ninja
  4. //
  5. //  Created by CyberSoft s.r.o. on 02/10/2017.
  6. //  Copyright © 2017 CyberSoft s.r.o. All rights reserved.
  7. //
  8.  
  9. import Foundation
  10. import RealmSwift
  11.  
  12. class RealmProvider
  13. {
  14.     //SINGLE INSTANCE FOR THE WHOLE APP
  15.     class var sharedInstance: RealmProvider
  16.     {
  17.         struct Singleton
  18.         {
  19.             static let instance = RealmProvider()
  20.         }
  21.         return Singleton.instance
  22.     }
  23.    
  24.     //USERS
  25.     func getUsers() -> [User]
  26.     {
  27.         let realm = try! Realm()
  28.         let storagedUsers = realm.objects(User.self)
  29.        
  30.         var users: [User] = []
  31.        
  32.         for user in storagedUsers
  33.         {
  34.             users.append(user)
  35.         }
  36.        
  37.         return users
  38.     }
  39.    
  40.     func storeUser(user: User)
  41.     {
  42.         let realm = try! Realm()
  43.         let storagedUsers = getUsers()
  44.        
  45.         for user in storagedUsers
  46.         {
  47.             try! realm.write
  48.             {
  49.                 realm.delete(user)
  50.             }
  51.         }
  52.        
  53.         try! realm.write
  54.         {
  55.             realm.add(user, update: true)
  56.         }
  57.     }
  58.    
  59.     //GENERIC OBJECT STORAGE
  60.    
  61.     func getObjectsFromStorage(type: Object.Type) -> [Object]
  62.     {
  63.         let realm = try! Realm()
  64.         let storagedObjects = realm.objects(type.self)
  65.        
  66.         var response: [Object] = []
  67.        
  68.         for object in storagedObjects
  69.         {
  70.             response.append(object)
  71.         }
  72.        
  73.         return response
  74.     }
  75.    
  76.     func storeObjectsToStorage(objects: [Object])
  77.     {
  78.         let realm = try! Realm()
  79.        
  80.         for object in objects
  81.         {
  82.             try! realm.write
  83.             {
  84.                 realm.add(object, update: true)
  85.             }
  86.         }
  87.     }
  88.    
  89.     func deleteObjects(objects: [Object])
  90.     {
  91.         let realm = try! Realm()
  92.        
  93.         for object in objects
  94.         {
  95.             try! realm.write
  96.             {
  97.                 realm.delete(object)
  98.             }
  99.         }
  100.     }
  101.    
  102.    
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement