Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. import UIKit
  2. import CoreData
  3.  
  4. class CoreDataFetchController<T : NSManagedObject> {
  5. weak var delegate: NSFetchedResultsControllerDelegate? = nil {
  6. didSet {
  7. fetchedResultsController.delegate = delegate
  8. }
  9. }
  10.  
  11. let fetchedResultsController: NSFetchedResultsController
  12.  
  13. init(fetchedResultsController: NSFetchedResultsController) {
  14. self.fetchedResultsController = fetchedResultsController
  15. fetchedResultsController.performFetch(nil)
  16. }
  17.  
  18. init(let entityName: String, let managedObjectContext: NSManagedObjectContext, let sortDescriptors: [NSSortDescriptor], let predicate: NSPredicate? = nil, let sectionNameKeyPath: String? = nil, let cacheName: String? = nil) {
  19. let request = NSFetchRequest(entityName: entityName)
  20. request.sortDescriptors = sortDescriptors
  21. request.predicate = predicate
  22.  
  23. fetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: managedObjectContext, sectionNameKeyPath: sectionNameKeyPath, cacheName: cacheName)
  24. fetchedResultsController.performFetch(nil)
  25. }
  26.  
  27. func numberOfRowsInSection(section: Int) -> Int {
  28. if let s = fetchedResultsController.sections as? [NSFetchedResultsSectionInfo] {
  29. return s[section].numberOfObjects
  30. } else {
  31. return 0
  32. }
  33. }
  34.  
  35. func numberOfSections() -> Int {
  36. if let s = fetchedResultsController.sections as? [NSFetchedResultsSectionInfo] {
  37. return s.count
  38. } else {
  39. return 0
  40. }
  41. }
  42.  
  43. func objectAtIndexPath(let indexPath: NSIndexPath) -> T {
  44. return fetchedResultsController.objectAtIndexPath(indexPath) as T
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement