Core Data 堆栈
来源:互联网 发布:怎样利用网络学英语 编辑:程序博客网 时间:2024/06/01 19:58
Core Data 堆栈
代码
SYDBManager.h
@interface SYDBManager : NSObject@property (nonatomic , copy) NSString * xcdatamodeldName;@property (nonatomic , strong) NSManagedObjectContext * managedObjectContext;@property (nonatomic , strong) NSManagedObjectModel * managedObjectModel;@property (nonatomic , strong) NSPersistentStoreCoordinator * persistentStoreCoordinator;-(NSURL *)applicationDocumentDirectory;@end
SYDBManager.m
#import "SYDBManager.h"@implementation SYDBManager-(void)saveContext { NSError * error = nil; NSManagedObjectContext * managedObjectContext = [self managedObjectContext]; if (managedObjectContext != nil) { if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { NSLog(@"Unresolved error: %@, %@ .",error,[error userInfo]); abort(); } }}-(NSURL *)applicationDocumentDirectory { NSURL * documentDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; return documentDirectoryURL;}-(NSManagedObjectContext *)managedObjectContext { if (_managedObjectContext) { return _managedObjectContext; } NSPersistentStoreCoordinator * coordinator = [self persistentStoreCoordinator]; if (coordinator != nil) { _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator:coordinator]; } return _managedObjectContext;}-(NSPersistentStoreCoordinator *)persistentStoreCoordinator { if (_persistentStoreCoordinator) { return _persistentStoreCoordinator; } if (self.xcdatamodeldName == nil) { return nil; } NSURL * storeURL = [[self applicationDocumentDirectory] URLByAppendingPathComponent:[NSString stringWithFormat:@"%@.sqlite",self.xcdatamodeldName]]; _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; [_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:nil]; return _persistentStoreCoordinator;}-(NSManagedObjectModel *)managedObjectModel { if (_managedObjectModel) { return _managedObjectModel; } if (self.xcdatamodeldName == nil) { return nil; } NSBundle * mainBundle = [NSBundle mainBundle]; NSURL * url = [mainBundle URLForResource:self.xcdatamodeldName withExtension:@"momd"]; _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:url]; return _managedObjectModel;}@end
阅读全文
0 0
- Core Data 堆栈
- core data
- Core Data
- Core Data
- Core Data
- Core data
- Core Data
- Core Data
- Core Data
- Core Data
- core data
- Core Data
- Core Data
- Core Data
- Core Data
- core data
- Core Data
- Core Data
- 视频协议学习--推流拉流都擅长的RTMP
- php.ini基础配置
- VM安装CentOS6.9-minimal
- input、button、submit表单提交区别
- Android App开发技能图谱
- Core Data 堆栈
- 微信端图片压缩转base64,然后转file形式上传
- gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解
- bootstrap-treeview简单使用
- libevent实现服务端客户端的回显功能
- Oracle基础知识点
- (2.2.11)Android全新CI平台——Jenkins
- 揭开RTMP播放流程的神秘面纱
- C++ 命名空间-namespace作用与使用方法详解