Core Data 基本数据操作 增删改查 排序
所有操作都基于Core Data框架相关 API,工程需要添加CoreData.framework支持
1.增 NSEntityDescription insertNewObjectForEntityForName: inManagedObjectContext:
利用NSEntityDescription工厂方法创建Entity
- AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
- //get NSManagedObjectContext
- NSManagedObjectContext *context = [appDelegate managedObjectContext];
- NSManagedObject *managedObject = nil;
- managedObject = [NSEntityDescription insertNewObjectForEntityForName:youEntityName inManagedObjectContext:context];//youEntityName is a NSString
- [managedObject setValue:youKeyValue forKey: youEntityKeyName];//KVO方式赋值value - key
- //e.g. [managedObject setValue:[name descrition] forKey: @"kEntityKeyName"], the entity must include name property, and its name must be "kEntityKeyName"
- [appDelegate saveContext];//Don't forget to save the changes
2.删 context deleteObject:
- NSManagedObject * deleteObject = youWillDeleteObject;//Can get the object from the query result , which is a NSArray getting by the way of using NSFetchRequest
- /*e.g.
- NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:kEntityName];
- NSError *error;
- NSArray *objects = [context executeFetchRequest:request error:&error];
- //choose one object or many objects
- */
- AppDelegate *delegate = [UIApplication sharedApplication].delegate;
- NSManagedObjectContext *context = [delegate managedObjectContext];
- [context deleteObject:deleteObject];//从NSManagedObjectContext中删除指定对象
- [delegate saveContext];//保存修改
3.改 略
4.查
4.1查找全部context executeFetchRequest: error:
- NSMutableArray *_array;//声明存储数据的数组
- AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
- NSManagedObjectContext *context = [appDelegate managedObjectContext];
- NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:kEntityName];
- NSError *error;
- NSArray *objects = [context executeFetchRequest:request error:&error];
- if (objects == nil) {
- NSLog(@"There is an error!");
- }else{
- _array = [NSMutableArray arrayWithArray:objects];
- }
5.排序[NSSortDescriptor sortDescriptorWithKey:], [request setSortDescriptors:]
- AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
- NSManagedObjectContext *context = [appDelegate managedObjectContext];
- NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:kEntityName];//查找请求
- //创建排序描述器 : 按创建时间属性列(Entity设计时添加此列@"createTime"(date类型))进行增序排序
- NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:kCreateTime ascending:YES];
- //设置查找请求的排序描述器
- [request setSortDescriptors:[NSArray arrayWithObject:sort]];
- //利用Coredata api在数据库中查
- NSError *error;
- NSArray *objects = [context executeFetchRequest:request error:&error];
Core Data 基本数据操作 增删改查 排序的更多相关文章
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...
- Hbase常用操作(增删改查)
Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区 作者:net19880504 [字体:大 中 小] 运行Eclipse,创建一个新的Java工程“HBa ...
- Android-Sqlite-OOP方式操作增删改查
之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...
- JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件
JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...
- Django学习笔记--数据库中的单表操作----增删改查
1.Django数据库中的增删改查 1.添加表和字段 # 创建的表的名字为app的名称拼接类名 class User(models.Model): # id字段 自增 是主键 id = models. ...
- Django数据库操作(增删改查)
Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...
- python全栈开发day62-两表操作增删改查,外键,if else模板语法
一.今日内容总结: day62 内容回顾: 1. django有关所有命令: pip install django==1.11.14 django-admin startproject 项目名称 cd ...
- java单机操作redis3.2.10和集群操作增删改查
先直接附上单机版的连接和增删改查,7000-7005是端口号 package com.yilian.util; import java.util.HashMap; import java.util.I ...
随机推荐
- Cisco AP-Sniffer模式空口抓包
第一步:WLC/AP侧 配置AP为sniffer模式: 配置提交后,AP会重启,并且将不能发出SSID为clients提供服务. 第二步:一旦AP重新加入WLC,配置AP抓取的信道和抓取后的数据包发 ...
- ie使用已安装的最高版本ie代码,及ie下不要在结尾处写多余的逗号“,”
ie使用已安装的最高版本ie代码 <meta http-equiv = "X-UA-Compatible" content = "IE=7,IE=9" & ...
- 【摘录自MDN】对事件冒泡和捕捉的解释
当一个事件触发了一个有父元素的元素(例如我们的<video>时),现代浏览器运行两个不同的阶段 - 捕获阶段和冒泡阶段. 在捕获阶段: 浏览器检查元素的最外层祖先(<html> ...
- Centos7虚拟环境virtualenv与virtualenvwrapper的安装及基本使用
一.使用虚拟环境的原因 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需 ...
- 固定ip配置
1.打开 网络和internet设置 2. 3. 4.查看详细信息 5.记住这几个 6.选择属性开始配置 7. 8.只要把ip地址设置为同一网段下面的你想要的设置的空余ip即可,其他掩码和DNS不要修 ...
- 【代码总结】PHP文件的上传和下载
===================== 文件上传和下载 ===================== 一.php.ini的配置信息 file_uploads = On /Off 是否允许文件上 ...
- linux目录与路径
1.相对路径和绝对路径 绝对路径:一定是从根目录开始,如:/usr/share/doc 相对路径:如果想从/usr/share/doc/到/usr/share/man下,可以写成 cd ../man, ...
- python-定时任务-apschelduer
python-定时任务-apschelduer 1. apscheduler 1.1. install pip install apscheduler 1.2. basic co ...
- 七 Spring的IOC的注解方式
Spring的IOC的注解方式入门 引入注解约束,配置组件扫描 类上的注解: @Conponent @Controller @Service @Repository 普通属性的注解 @value ...
- 汇编语言从入门到精通-5微机CPU的指令系统2
微机CPU的指令系统 5.2.2 标志位操作指令 标志位操作指令是一组对标志位置位.复位.保存和恢复等操作的指令. 1.进位CF操作指令 a.清进位指令CLC(Clear Carry Flag):CF ...