I am trying to implement reset functionality in core data based sample app.
I think that there are two ways to implement reset functionality: Approach 1: Delete sqlite file and then re-insert data Approach 2: Retrieve all data in managedObjectContext, delete retrieved data and then re-insert data I tried 'Approach 1' first, here is the code snippet: @IBAction func resetData(sender: AnyObject) { let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate // delete old db if it exists var url = appDelegate.applicationDocumentsDirectory.URLByAppendingPathComponent("MyApp.sqlite") let defaultFileManager = NSFileManager.defaultManager() if defaultFileManager.fileExistsAtPath(url.path!) { defaultFileManager.removeItemAtURL(url, error: nil) } let managedObjectContext = appDelegate.managedObjectContext! var menuCategory : MenuCategories = NSEntityDescription.insertNewObjectForEntityForName("MenuCategories", inManagedObjectContext: managedObjectContext) as MenuCategories appDelegate.saveContext() } Then I added a break point in appDelegate's managedObjectContext lazy initialization method, here is the related code snippet: lazy var managedObjectContext: NSManagedObjectContext? = { let coordinator = self.persistentStoreCoordinator if coordinator == nil { return nil } var managedObjectContext = NSManagedObjectContext() managedObjectContext.persistentStoreCoordinator = coordinator return managedObjectContext }() First time when I performed reset action, the program counter (PC) stopped on the added break point, but next time when I performed reset action then the PC did not stop on the break point and app crashed for obvious reasons: Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed. (Cocoa error 4.)" UserInfo=0x78f54ff0 {NSUnderlyingError=0x78f69250 "The operation couldn’t be completed. No such file or directory" Now my question is - Why second time managedObjectContext initialization method was not invoked? I know that I need to go back and learn Swift basics - the hard way, perhaps there is some obvious reasons which I am missing, please suggest. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com