关于Core Data的一些整理(二)

创建NSManagedObject的子类时,有一点是在这中间要强调的一点是,要不要勾选 Use scalar properties for primitive data types。

勾选上这个选项之后就是使用的是你在定义的时候使用的原始数据类型。

如果没有勾选的话,就会存在类型的转化,转换情况如下:

  • String maps to String
  • Integer 16/32/64, Float, Double and Boolean map to NSNumber
  • Decimal maps to NSDecimalNumber
  • Date maps to NSDate
  • Binary data maps to NSData
  • Transformable maps to AnyObject

之后生成四个文件如下:

上面两个负责数据属性部分,下面两个负责数据操作部分
若在使用中修改了Core Data文件,重新创建子类即可,新生成的文件只有上面两个并覆盖原来的文件,下面的数据操作部分并不会新建
代码需要注意的地方不多,有下面两点:
  • 为NSFetchRequest添加NSPredicate条件
 //建立匹配请求,并添加判断语句
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Bowtie"];
NSString *firstTitle = [self.segmentedControl titleForSegmentAtIndex:];
request.predicate = [NSPredicate predicateWithFormat:@"searchKey == %@", firstTitle];
NSArray *results = [self.managedContext executeFetchRequest:request error:nil];
self.currentBowtie = results.firstObject;
  • 保存图片时可以选择Allows External Storage,你数据库内存的就不是图片,而是图片在你文件夹内的路径

   //对图片保存进行处理
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Bowtie" inManagedObjectContext:self.managedContext];
Bowtie *bowtie = [[Bowtie alloc] initWithEntity:entity insertIntoManagedObjectContext:self.managedContext];
bowtie.photoData = UIImagePNGRepresentation([UIImage imageNamed:dict[@"imageName"]]);

关于Core Data的一些整理(二)的更多相关文章

  1. 关于Core Data的一些整理(五)

    关于Core Data的一些整理(五) 在Core Data中使用NSFetchedResultsController(以下简称VC)实现与TableView的交互,在实际中,使用VC有很多优点,其中 ...

  2. 关于Core Data的一些整理(四)

    关于Core Data的一些整理(四) 调用Core Data文件中的Request模板进行条件匹配 //获取ObjectModel相当于获取Core Date文件 NSManagedObjectMo ...

  3. 关于Core Data的一些整理(三)

    关于Core Data的一些整理(三) 关于Core Data Stack的四种类与它们的关系如下: NSManagedObjectModel NSPersistentStore NSPersiste ...

  4. 关于Core Data的一些整理(一)

    关于Core Data的一些整理(一) 在Xcode7.2中只有Mast-Debug和Single View中可以勾选Use Core Data 如果勾选了Use Core Data,Xcode会自动 ...

  5. Core Data 学习简单整理01

    Core Data是苹果针对Mac和iOS平台开发的一个框架, 通过CoreData可以在本地生成数据库sqlite,提供了ORM的功能,将对象和数据模型相互转换 . 通过Core Data管理和操作 ...

  6. Core Data的使用(二)备

    一.基础概念深入 1.NSManagedObjectContext 被管理数据上下文就像便笺簿 当从数据持久层获取数据时,相当于把这些临时的数据拷贝写在便笺簿上,然后就可以随心所欲的修改这些值. 通过 ...

  7. 数据存储-- Core Data的使用(二)

    一.基础概念深入 1.NSManagedObjectContext 被管理数据上下文就像便笺簿 当从数据持久层获取数据时,相当于把这些临时的数据拷贝写在便笺簿上,然后就可以随心所欲的修改这些值. 通过 ...

  8. iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

                   在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...

  9. Core Data (二)备

    序 上次只是说了三个Core Data栈基本类.这次准备介绍一下常用的类. NSManagedObject Core Data是一次底层数据封装成面向对象的技术.最直接的表现就是在SQLite里面的一 ...

随机推荐

  1. Rabbit hunt

    poj2606:http://poj.org/problem?id=2606 给你n个点,求在一条直线上的点最多有几个.题解:直接暴力,但是要注意,横坐标相等的情况,这是不能求斜力,只能特殊处理. # ...

  2. Arbitrage

    Description Arbitrage is the use of discrepancies in currency exchange rates to transform one unit o ...

  3. Netty4.0学习笔记系列之三:构建简单的http服务(转)

    http://blog.csdn.net/u013252773/article/details/21254257 本文主要介绍如何通过Netty构建一个简单的http服务. 想要实现的目的是: 1.C ...

  4. Linux&shell 之Shell命令进阶

    写在前面:案例.常用.归类.解释说明.(By Jim) 监控程序a.进程查看ps -ef(-e表示系统上运行的所有进程,-f用于扩展输出一些有用的信息列.)ps -efH(-H参数可以将进程组织为分层 ...

  5. 【二分】【最长上升子序列】HDU 5489 Removed Interval (2015 ACM/ICPC Asia Regional Hefei Online)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5489 题目大意: 一个N(N<=100000)个数的序列,要从中去掉相邻的L个数(去掉整个区间 ...

  6. Rotate List —— LeetCode

    Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...

  7. 转:给C++初学者的50个忠告

                                                           转:给C++初学者的50个忠告 1.把C++当成一门新的语言学习(和C没啥关系!真的.): ...

  8. 最小生成树 10.1.5.253 1505 poj 1258 http://poj.org/problem?id=1258

    #include <iostream>// poj 1258 10.1.5.253 1505 using namespace std; #define N 105 // 顶点的最大个数 ( ...

  9. Adjacent Bit Counts(动态规划 三维的)

    /** 题意: 给出一个01串 按照题目要求可以求出Fun(X)的值 比如: 111 Fun(111)的值是2: 输入: t (t组测试数据) n k (有n位01串 Fun()的值为K) 输出:有多 ...

  10. Cleaning Shifts(区间覆盖)

    /* http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1019&ojid=1&cid=10 题目: 给定一个时 ...