CoreData 封装
来源:互联网 发布:枪林弹雨刷永久枪软件 编辑:程序博客网 时间:2024/04/29 12:30
---------- . h --------------
#import <Foundation/Foundation.h>#import <CoreData/CoreData.h>#import "JiaoModel.h"@interface CoreData : NSObject{ //coreData 操作数据库的核心对象 NSManagedObjectContext *moc; NSFetchRequest *fr; }//绑定数组-(NSArray *)getDataArr;//添加数据-(void)AddModel:(JiaoModel *)model;//删除数组-(BOOL)deleteModel:(JiaoModel *)model;//更新数组-(void)UpData;//精确搜索-(NSArray *)SearchData:(NSString *)time;//模糊搜索-(NSArray *)SearchMohu:(NSString *)time;@end
#import "CoreData.h"@implementation CoreData-(id)init{ if (self=[super init]) { //初始化 moc [self initMoc]; } return self;}-(void)initMoc{ //找到路径 NSString *path=[[NSBundle mainBundle] pathForResource:@"JiaoModel" ofType:@"momd"]; //根据路径读取文件 NSManagedObjectModel *model=[[NSManagedObjectModel alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path]]; //建立管理数据模型对象 NSPersistentStoreCoordinator *psc=[[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:model]; //创建数据库资源路径 NSString *dbpath=[NSHomeDirectory()stringByAppendingString:@"/Documents/JiaoModel.sqlite"]; NSError *error=nil; //检查数据库建立状态 作用判断 NSPersistentStore *ps=[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[NSURL fileURLWithPath:dbpath] options:nil error:&error]; NSLog(@"%@",dbpath); if (!ps) { NSLog(@"创建失败"); }else NSLog(@"创建成功"); //创建管理对象,管理整个数据库 -- 如果用Xcode 7 initWith....type 进行初始化 moc=[[NSManagedObjectContext alloc]init]; //设置管理对象管理的数据库 moc.persistentStoreCoordinator=psc; //做映射的类和数据库那张表相对应 fr=[NSFetchRequest fetchRequestWithEntityName:@"JiaoModel"]; }-(NSArray *)getDataArr{ return [moc executeFetchRequest:fr error:nil]; }-(void)AddModel:(JiaoModel *)model{ NSError *er; JiaoModel *mo=[NSEntityDescription insertNewObjectForEntityForName:@"JiaoModel" inManagedObjectContext:moc]; mo.j_hand_id=model.j_hand_id; mo.j_subject=model.j_subject; mo.j_thumb=model.j_thumb; if ([moc save:&er]) { NSLog(@"保存成功!"); }else NSLog(@"保存失败:%@",er); }-(BOOL)deleteModel:(JiaoModel *)model{ BOOL no=NO; NSError *error; // [moc deleteObject:model];// // if ([moc save:&error]) {// no=YES;// NSLog(@"删除成功");// }else no=NO; NSPredicate *p=[NSPredicate predicateWithFormat:@"j_thumb = %@",model.j_thumb]; NSLog(@"%@",p); NSFetchRequest *fe=[NSFetchRequest fetchRequestWithEntityName:@"JiaoModel"]; fe.predicate=p; NSArray *arr=[moc executeFetchRequest:fe error:nil]; for (JiaoModel *jiao in arr) { [moc deleteObject:(NSManagedObject *)jiao]; if ([moc save:&error]) { no=YES; NSLog(@"删除成功"); }else no=NO; } return no;}//修改-(void)UpData{ NSError *error; if([moc save:&error]){ NSLog(@"修改成功"); }else NSLog(@"修改失败"); }-(NSArray *)SearchData:(NSString *)time{ NSPredicate *p=[NSPredicate predicateWithFormat:@"j_thumb = %@",time]; NSLog(@"%@",p); NSFetchRequest *fe=[NSFetchRequest fetchRequestWithEntityName:@"JiaoModel"]; fe.predicate=p; NSArray *arr=[moc executeFetchRequest:fe error:nil]; return arr;}-(NSArray *)SearchMohu:(NSString *)time{ NSPredicate *p=[NSPredicate predicateWithFormat:@"mTime like %@",[NSString stringWithFormat:@"*%@*",time]]; NSFetchRequest *fc=[NSFetchRequest fetchRequestWithEntityName:@"JiaoModel"]; fc.predicate=p; NSArray *arr=[[NSArray alloc]init]; arr=[moc executeFetchRequest:fc error:nil]; return arr; }
0 0
- CoreData 封装
- CoreData封装
- coredata 封装
- CoreData 基本操作方法封装
- CoreData 基本操作方法封装
- 二次封装CoreData
- CoreData封装使用
- CoreData封装工具类
- 封装CoreData数据库
- iOS CoreData简单封装
- CoreData封装类MagicalRecord的使用
- iOS数据存储之CoreData封装MagicalRecord
- CoreData
- CoreData
- CoreData
- CoreData
- CoreData
- CoreData
- 有序表查找
- vs2010 大括号折叠 大纲语句块
- Caused by: java.lang.NoSuchMethodError: org.hibernate.cfg.annotations.reflection.XMLContext$Default.
- 由GDTR计算GDT的一些相关值
- FreeBSD常用命令110条
- CoreData 封装
- Oracle 结合rollup生成报表
- error:/usr/bin/ld:skipping incompatible ./libxxxx.so when searching for -lxxxx
- ubuntu14.04.3 编译octave4.0,具备了图形GUI界面
- JQuery中动态添加easyui组件 动态渲染 parser具体怎么用
- c++学习之----MFC的执行顺序
- SQL
- Android内存管理整理
- 数学题 暴力字符串 Codeforces div2 E. Pretty Song