// // Note.swift // Example Notes // // Created by Michael Enger on 21/06/14. // Copyright (c) 2014 Michael Enger. All rights reserved. // import UIKit import CoreData @objc(Note) class Note: NSManagedObject { @NSManaged var content: String @NSManaged var created: NSDate // #praga mark Instance methods func delete() -> Bool { self.managedObjectContext.deleteObject(self) return self.managedObjectContext.save(nil) } func reset() { self.managedObjectContext.rollback() } func save() -> Bool { return self.managedObjectContext.save(nil) } // #praga mark Class methods class func _context() -> NSManagedObjectContext { let appDelegate: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate) return appDelegate.managedObjectContext } class func _fetch(request: NSFetchRequest) -> NSArray { let managedObjectModel: NSManagedObjectModel = self._context().persistentStoreCoordinator.managedObjectModel return Note._context().executeFetchRequest(request, error:nil) as NSArray } class func all() -> Note[] { let request : NSFetchRequest = NSFetchRequest(entityName: "Note") request.returnsObjectsAsFaults = false request.sortDescriptors = [NSSortDescriptor(key: "content", ascending: true)] let results: NSArray = Note._fetch(request) var objects: Note[] = [] for (var i = 0; i < results.count; i++) { objects.append(results[i] as Note) } return objects } class func create() -> Note { let object: Note = NSEntityDescription.insertNewObjectForEntityForName("Note", inManagedObjectContext:Note._context()) as Note object.created = NSDate.date() return object } }