coredata中谓词的使用】的更多相关文章

Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数.在cocoa中封装的一个数据库框架cocoaData里面 在进行查询(包括模糊查询)时同样会要用到谓词:下面对谓词的使用方法及规则进行简要的介绍下: 1,用predicateWithFormat创建一个谓词 条件 NSString *predicateString =@"name=='Herbie'"…
NSPredicate在CoreData中经常使用作查询使用,相当于sql语句中的where查询子句. 最经常使用的方法为: NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]; 比方我们要查询student表中name="jjy"的信息,我们能够这样去用NSPredicate NSEntityDescription * emEty = [NSEntityDescription entityForN…
目录:[Swift]Xcode实际操作 本文将演示如何查找数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持久化存储框架[CoreData] import CoreData class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup…
Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数.在cocoa中封装的一个数据库框架cocoaData里面 在进行查询(包括模糊查询)时同样会要用到谓词:下面对谓词的使用方法及规则进行简要的介绍下: 1,用predicateWithFormat创建一个谓词 条件 NSString *predicateString =@"name=='Herbie'"…
=================== 疑问: 1.coredata是什么?结构 2.如果在简单的demo中,我们可以在主线程中使用coredata.但是如果在真正的大项目中,这样可行么? 3.假设都在主线程,那么我们的项目中有很多模块也要进行存放.那么我们的代码该如何组织,使全部模块用一个数据库多张表?还是一个模块一个数据库? 4.如何在多线程使用用coredata,有几种策略实现 5.coredata的数据迁移 6.总结 ==============================内容===…
关于谓词的注意事项 P是Function<Object,Boolean>形式的谓词.也就是说,给定一些对象,返回true或false.所提供的谓词在下表中概述,并用于各种步骤,例如has(),where(),is()等. Predicate| Description --|-- eq(object) | Is the incoming object equal to the provided object? neq(object)| Is the incoming object not equ…
目录:[Swift]Xcode实际操作 本文将演示如何删除数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持久化存储框架[CoreData] import CoreData class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup…
目录:[Swift]Xcode实际操作 本文将演示如何修改数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持久化存储框架[CoreData] import CoreData class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup…
关于 CoreData的 objectID 官方文档有这样的表述:新建的Object还没保存到持久化存储上,那么它的objectID是临时id,而保存之后,就是持久化的id,不会再变化了. 那么,我想做的实验是,新建一个对象,再保存,再查看这个对象的objectID,看看系统会不会自动把这个新对象的 临时id 更改为 持久化的id. var person = NSEntityDescription.insertNewObjectForEntityForName("Person", in…
优化前: SELECT a.* FROM t1 a, (SELECT obj_id,MAX(PRE_DETAIL_INST_ID) PRE_DETAIL_INST_ID FROM t1 WHERE DATE_FORMAT(crt_date,'%Y-%m-%d %H') < DATE_FORMAT(NOW(),'%Y-%m-%d %H') AND  DATE_FORMAT(crt_date,'%Y-%m-%d %H') >= DATE_FORMAT(DATE_ADD(NOW(),INTERVAL…
http://www.cocoachina.com/ios/20160111/14926.html 首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索. 可以使用…
// // ViewController.m // coredatademo002 // // Created by ganchaobo on 13-6-29. // Copyright (c) 2013年 ganchaobo. All rights reserved. // #import "ViewController.h" #import <CoreData/CoreData.h> #import "Person.h" @interface Vie…
Core Data数据持久化是对SQLite的一个升级,它是iOS集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类. (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManagedObjectContext(被管理的对象上下文) 操作实际内容 作用:插入数据  查询  更新  删除 (3)NSPersistentStoreCoordinator(持久化存储助理) 相当于数据库的连接器 (4)NSF…
公司项目中有一个功能,保存授权令牌数据.最开始只有一条数据,所以就直接保存在了userdefaults中.后来需要两条数据,还是保存在userdefaults中,其中一条为固定的,另一条不固定可以进行替换或删除.最近又需要保存多条数据,那么usedefaults就不适合了,就考虑使用数据库.iOS中可以选择FMDB或CoreData,两者都是基于SQLite数据库的封装,其中CoreData是苹果开发的ORM类型的数据库,在数据量比较少时,两者性能差别不是很大.因为需要在framework中使用…
本文转载至 http://blog.csdn.net/chen505358119/article/details/9334831 分类: ios2013-07-15 18:12 12449人阅读 评论(0) 收藏 举报 Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类. (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManaged…
在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功能和JavaEE中的Hibernate的功能类似,最基本是两者都有通过对实体的操作来实现对数据库的CURD操作.CoreData中的上下文(managedObjectContext)就相当于Hibernate中的session对象, CoreData中的save操作就和Hibernate中的comm…
Core Data,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架 //参与对数据操作的全过程,监测数据对象的变化,以提供对undo/redo的支持及更新绑定到数据额UI @property (readonly, strong, nonatomic) NSManagedObjectContext *man…
CoreData详解 介绍: 在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作.当然你也可以通过别人封装之后的一些简单框架,使得你的操作更加简单(如FMDB BNRPersistence). Cocoa框架本身提供了CoreData这个API可方便的让开发者通过操作对象的方式在操作数据库.CoreData是一个对象图(object graph)以及持久化的管理框架.我们可以通过CoreData创对象,设置好象之间的关系,然后…
1. CoreData数据库框架的优势 1> CoreData历史 CoreData数据持久化框架是Cocoa API 的一部分,首次在iOS5版本的系统中出现,它允许按照实体-属性-值模型组织数据,并以XML.二级制文件或者SQLite数据文件的格式持久化数据. CoreData主要提供对象 --- 关系映射(ORM)功能,把OC对象转化为数据保存到文件,也可以数据转化为OC对象. 2> CoreData数据库与Sqlite数据库的比较 Sqlite: 基于C接口,需要使用sql语句,但是代…
一.CoreData数据库框架的优势 1.CoreData数据持久化框架是Cocoa API的一部分,首次在iOS5版本的系统中出现,它允许按照实体-属性-值模型组织数据,并以XML.二进制文件或者SQLite数据文件的格式持久化数据.CoreData主要提供独享-关系映射(ORM)功能,把OC对象转化为数据保存到文件,也可以数据转化为OC对象. 2.CoreData数据库框架的优势: sqlite: 基于C接口需要使用sql语句,代码繁琐. 在处理大量数据时,表关系更直观. 在OC中不是可视化…
上面一篇文章介绍了coredata的有关基本概念,由于大部分是参考别人文章中的内容,所以感觉有点虚,而且估计也是比较难以理解,下面这篇文章通俗一点说说学习coredata后的一些理解,然后给出一个简单的demo,有错漏的地方,欢迎读者指正. 其实与coredata有关的有几个概念: 数据表 --–> Entity  (You usually define entities in a managed object model usingthe data modeling tool in Xcode…
先粗略的了解下CoreData中的一些核心概念 1. CoreData 的核心概念 先上两幅关键的概念图 (1)NSManagedObjectModel 托管对象模型(MOM)是描述应用程序的数据模型,这个模型包含实体(Entity),特性(Property),读取请求(FetchRequest)等. 这个MOM由实体描述对象,即NSEntityDescription实例的集合组成,实体描述对象介绍见下面第7条. 作用:添加实体的属性,建立属性之间的关系 (2)NSManagedObjectCo…
1.初识CoreData CoreData的结构构成: NSManagedObjectModel的构成: 可以通过Entity创建继承自NSManagedObject类的文件,这个文件就是开发中使用的托管对象,具备模型对象的表示功能,CoreData的本地持久化都是通过这个类及其子类完成的. 在CoreData的整体结构中,主要分为两部分.一个是NSManagedObjectContext管理的模型部分,管理着所有CoreData的托管对象.一个是SQLite实现的本地持久化部分,负责和SQL数…
#pragma mark - Core Data Methods - (void)insertObjectWithFileName:(NSString *)fileName { /** SQL新增记录的过程 1. 拼接一个INSERT的SQL语句 2. 执行SQL */ // 1. 实例化并让context“准备”将一条个人记录增加到数据库 ReaderDocument *document = [NSEntityDescription insertNewObjectForEntityForNam…
 Managed Object Model(被管理对象模型): –数据库的轮廓,或者结构.包含了各个实体的定义信息      Persistent Store Coordinator (持久性数据协调器): – 数据库连接库,在这里设置数据存储的名字和位置,以及数据存储的时机      Managed Object Context (被管理对象上下文): –数据的实际内容,基本上,插入数据,查询数据,删除数据的工作都在这里完成 写模块是怎样运作的呢? 1,应用程序先创建或读取模型文件(后缀为xc…
SQLite3 SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易使用,内存开销小. SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中. SQLite3常用的4种数据类型:text(文本字符串), integer(整型值), real(浮点值), blob(二进制数据(比如文件)). 在iOS中使用SQLite3,首先要添加库文件'libsqlite3.dylib'和导入主头文件#import<sqlite3.h> SQL语句的特点: 1> 不区分大…
之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解.在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询.模糊查询.批处理等高级操作.通过这些操作可以更好的使用CoreData,提升CoreData性能.文章中将会出现大量示例代码,通过代码的方式更有助于理解. 文章内容还会比较多,希望各位耐心看完.文章中如有疏漏或错误,还请各位及时提出,谢谢! NSPredicate 概述 在iOS开发过程中,很多需求都需要用到过…
上面一篇文章介绍了coredata的有关基本概念,由于大部分是参考别人文章中的内容,所以感觉有点虚,而且估计也是比较难以理解,下面这篇文章通俗一点说说学习coredata后的一些理解,然后给出一个简单的demo,有错漏的地方,欢迎读者指正. 其实与coredata有关的有几个概念: 数据表 --–> Entity  (You usually define entities in a managed object model usingthe data modeling tool in Xcode…
#pragma mark - Core Data Methods - (void)insertObjectWithFileName:(NSString *)fileName { /** SQL新增记录的过程 1. 拼接一个INSERT的SQL语句 2. 执行SQL */ // 1. 实例化并让context“准备”将一条个人记录增加到数据库 ReaderDocument *document = [NSEntityDescription insertNewObjectForEntityForNam…
在上篇博客中,讲了数据模型和 CoreData 栈的创建,那下一步就是对数据的操作了.和数据库一样,CoreData 里的操作也无非是增删改查.下面我们将逐步讲解在 CoreData 中进行增删改查的方式. 基本的增删改查 插入条目 先来看一下插入条目的方式,在插入之前,我们需要先创建要插入的数据, 使用 NSEntityDesctiption 类的 + (__kindof NSManagedObject *)insertNewObjectForEntityForName:(NSString *…