1.4.2.3. SETUP(Core Data 应用程序实践指南)
2024-10-18 18:22:25
初始化Core Data的三个方法:
- init,初始化托管对象模型、持久化存储协调器、托管对象上下文
- (id)init {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
} if (self = [super init]) {
_model = [NSManagedObjectModel mergedModelFromBundles:nil];
_coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:_model];
_context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_context setPersistentStoreCoordinator:_coordinator];
} return self;
}_model 的mergedModelBundles的参数为nil,表示要用main bundle里面所有的数据模型文件都初始化进来。如果有多个模型文件需要合并,可以把元素类型为NSBundles的NSArray数组传给mergedModelBundles。
NSMainQueueConcurrencyType表示在主线程队列运行。
- loadStore:创建并加载持久化存储区
- (void)loadStore {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
} if (_store) {return;} NSError *error = nil;
_store = [_coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:nil error:&error]; if (!_store) {
NSLog(@"Failded to add store. Error: %@", error);
abort();
}else if (debug == ){
NSLog(@"Successfully add store: %@", _store);
}
}
- 加载持久化存储区
- (void)setupCoreData {
if (debug == ) {
NSLog(@"Running %@ '%@'",self.class, NSStringFromSelector(_cmd));
} [self loadStore];
}
最新文章
- es6
- DSY2287*消失之物
- cell 和 cellHeight的先后执行顺序
- jQuery实现加入购物车飞入动画效果
- hdu 1561 The more, The Better(树形dp,基础)
- Queryable.Union 方法实现json格式的字符串合并
- asp.net 获取当前项目路径
- Ubuntu12.04下使用virtualbox4.3.12 amd64安装XP系统教程
- pyspider解析
- [翻译 EF Core in Action 1.11] 何时不应该使用EF Core
- js 原型链和继承(转)
- [Node.js] 05 - Modules and Function
- mongoDB安装windows 64 bit
- appium运行时每次默认弹出appiumsetting与unlock重装,关闭这两个步骤的方法
- python爬虫 Scrapy2-- 爬取豆瓣电影TOP250
- js和html插件集
- 基本的RAID介绍
- Vault 0.10包含了web ui
- SQL Server附加数据库拒绝访问解决方法汇总
- 图片上传转base64
热门文章
- TCP/IP网络协议栈(转载)
- CentOS 6.5 开机启动指定服务
- PAT (Advanced Level) 1055. The World's Richest (25)
- 注册表检测office版本
- 电池和Adapter切换电路改进实验(转)
- cakephp 2.0 源码解读(一)
- Javascript Jquery 中的数组定义与操作_子木玲_新浪博客
- 自动安装脚本-------------基于LVMP搭建Nagios 监控
- [Unity AssetBundle]Asset资源处理
- Android 5.0之前屏幕截图的方法