zoukankan      html  css  js  c++  java
  • CoreDataStack

    //
    //  Stack.swift
    //  Bubble Tea Finder
    //
    //  Copyright © 2016 Pietro Rea. All rights reserved.
    //
    
    import CoreData
    class CoreDataStack {
        let modelName = "Bubble_Tea_Finder"
        
        private lazy var applicationDirectoryPath: NSURL = {
            let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
            let url = urls[urls.count - 1]
            print("沙盒路径:(url)")
            return url
        }()
        
        lazy var context: NSManagedObjectContext = {
            let managedContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
            managedContext.persistentStoreCoordinator = self.persistentStoreCoordinator
            return managedContext
        }()
        
        private lazy var persistentStoreCoordinator:NSPersistentStoreCoordinator = {
            let psc = NSPersistentStoreCoordinator(managedObjectModel: self.model)
            let url = self.applicationDirectoryPath.URLByAppendingPathComponent(self.modelName)
            let options = [NSMigratePersistentStoresAutomaticallyOption : true]
            do{
                try psc.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options)
            } catch let error as NSError{
                print("Error add persistent store : (error)")
            }
            return psc
        }()
        
        private lazy var model: NSManagedObjectModel = {
            let url = NSBundle.mainBundle().URLForResource(self.modelName, withExtension: "momd")
            print("资源路径:(url)")
            let model = NSManagedObjectModel(contentsOfURL: url!)
            return model!
        }()
        
        func saveContext() {
            if context.hasChanges {
                do {
                    try context.save()
                } catch let error as NSError{
                    print("Error save : (error)")
                    abort()
                }
            }
        }
    }

    保存失败后,要断开连接

    1、获取资源用NSBundle

    2、获取沙盒路径用NSFileManager

  • 相关阅读:
    在路上——7月英语
    Today is a special day for English Topic
    三级网络-不单单是学知识
    停下是为了更好的出发
    量变引发质变--【2015年计算机年终总结】
    这个月,小美很忙
    一个人牛逼不如一群人一起牛逼——致我最亲爱的程序员
    掀起你的盖头来--【2015年英语年终总结】
    平凡之路之小美
    小美的猴年年中总结,挪不开眼~
  • 原文地址:https://www.cnblogs.com/sallet/p/5332288.html
Copyright © 2011-2022 走看看