Core Data初试
2016-02-23 23:50
363 查看
CoreDataStack.swift
import CoreData
class CoreDataStack: NSObject {
let context: NSManagedObjectContext
let coordinator: NSPersistentStoreCoordinator
let model: NSManagedObjectModel
let store: NSPersistentStore?
static func defaultStack()->CoreDataStack{
return instance
}
private static let instance = CoreDataStack()
private override init() {
//构建托管对象模型
let bundle=NSBundle.mainBundle()
let modelURL=bundle.URLForResource("Test", withExtension:"momd")!
model=NSManagedObjectModel(contentsOfURL: modelURL)!
//构建持久化存储助理
coordinator=NSPersistentStoreCoordinator(managedObjectModel:model)
//构建托管对象上下文,并且将助理连接到上下文
context=NSManagedObjectContext(concurrencyType:.MainQueueConcurrencyType)
context.persistentStoreCoordinator=coordinator
//构建持久化存储
let manager=NSFileManager.defaultManager()
let urls=manager.URLsForDirectory(.DocumentDirectory,inDomains:.UserDomainMask)
let documentsURL=urls.first!
let storeURL=documentsURL.URLByAppendingPathComponent("Test")
store=(try! coordinator.addPersistentStoreWithType(NSSQLiteStoreType,configuration:nil,URL:storeURL, options:nil))
}
func saveContext(){
if context.hasChanges{
do{
try context.save()
}catch{
print("Save failed......")
}
}
}
}
import CoreData
class CoreDataStack: NSObject {
let context: NSManagedObjectContext
let coordinator: NSPersistentStoreCoordinator
let model: NSManagedObjectModel
let store: NSPersistentStore?
static func defaultStack()->CoreDataStack{
return instance
}
private static let instance = CoreDataStack()
private override init() {
//构建托管对象模型
let bundle=NSBundle.mainBundle()
let modelURL=bundle.URLForResource("Test", withExtension:"momd")!
model=NSManagedObjectModel(contentsOfURL: modelURL)!
//构建持久化存储助理
coordinator=NSPersistentStoreCoordinator(managedObjectModel:model)
//构建托管对象上下文,并且将助理连接到上下文
context=NSManagedObjectContext(concurrencyType:.MainQueueConcurrencyType)
context.persistentStoreCoordinator=coordinator
//构建持久化存储
let manager=NSFileManager.defaultManager()
let urls=manager.URLsForDirectory(.DocumentDirectory,inDomains:.UserDomainMask)
let documentsURL=urls.first!
let storeURL=documentsURL.URLByAppendingPathComponent("Test")
store=(try! coordinator.addPersistentStoreWithType(NSSQLiteStoreType,configuration:nil,URL:storeURL, options:nil))
}
func saveContext(){
if context.hasChanges{
do{
try context.save()
}catch{
print("Save failed......")
}
}
}
}
相关文章推荐
- 网络传输专题
- mvp模式的基本理解
- 【数位DP】SPOJ10606Balanced Numbers
- 242. Valid Anagram
- 【数位DP】SPOJ10606Balanced Numbers
- 计算机取证——原则
- FZU 1978 Repair the brackets
- Python爬虫之旅(一)
- POJ--2109 Power of Cryptography
- 四大即时通讯协议之XMPP(Jabber)背景介绍(一)
- JavaSE过程与感想集
- Spring中argNames的含义
- iOS开发-frame与bounds
- window—BAT脚本
- mysql新建用户
- [Lintcode]Partition List
- POJ--3006 Dirichlet's Theorem on Arithmetic Progressions
- iOS 中这些是否熟练掌握——(2)
- 1.1 VMware 一步一步创建虚拟机
- Android进阶之抢购倒计时功能