ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的

这里是只是代码,因为博客插入图片效果不是很好,我自己写的总结比较详细,有兴趣的朋友可以在评论里留下邮箱,我收到后会发给大家。

转载注明出处,重视原创者的劳动成果,谢谢!

– (void)viewDidLoad {

[superviewDidLoad];

[self_creatTable

// [self _query];// 查询数据

// KVC很霸道,即使readonly通过kvc也可赋值,kvo精华

// Book * book = [[Book alloc]init];

//// book.name = @"book1";

// [book setValue:@"book2" forKey:@"name"];

// NSLog(@"%@",book.name);

}

#pragma mark – _query查询

– (void)_query{

// 初始化模型

NSManagedObjectModel * model = [NSManagedObjectModel

//创建基础库协调器

NSPersistentStoreCoordinator * psc = [[NSPersistentStoreCoordinator

// 获取沙盒路径

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)firstObject];

NSLog(@"%@",path);

NSURL * url = [[NSURLalloc]initFileURLWithPath:path];

//为协调器加载基础库路径和基础库类型

URL:url options:nilerror

// 创建上下文

NSManagedObjectContext * context = [[NSManagedObjectContext

context.persistentStoreCoordinator = psc;

// 初始化查询请求

NSFetchRequest * request = [[NSFetchRequest

//谓词过滤(查询条件)

#pragma mark ‘=’

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name = %@",@"zhangks"];

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name = ‘zhangks’"];

#pragma mark ‘>’

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"age >10"];

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name in %@",@[@"zhangsk",@"jack"]];

#pragma mark ‘like’模糊查询

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name like %@",@"zha*"];

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name like %@",@"*zha*"];

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name like %@",@"*zha"];

#pragma mark ‘and’和’&&’模糊查询

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name = %@ and age = 19",@"zhangks"];

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"name = %@ && age = 19",@"zhangks"];

#pragma mark ‘between’模糊查询

// 方式1

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"age between {20,30}"];

// 方式2

// NSPredicate * predict = [NSPredicate predicateWithFormat:@"age between %@",@[@"10",@"29"]];

// predict = [NSPredicate predicateWithFormat:predict.predicateFormat];

// request.predicate = predict;

// 数据排序 ascending=YES顺序,ascending=NO倒序

NSSortDescriptor * sort = [NSSortDescriptor

request.sortDescriptors =@[sort];

NSError * error ;

// 执行查询语句

NSArray * array = [context executeFetchRequest:request error:&error];//查询结果返回的是数组

// NSInteger count = [context countForFetchRequest:request error:&error];

// 查询结果的个数,返回nsinteger

// NSLog(@"%li",count);

/*

// // KVC方式获取

// for (NSManagedObject * student in array) {

好像有头大象在吸水。然后再去了芦笛岩,

ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的

相关文章:

你感兴趣的文章:

标签云: