ios-IOS Core Data部分两个Entity之间的RelationShip的存储问题

问题描述

IOS Core Data部分两个Entity之间的RelationShip的存储问题

最近看部分IOS开发视频和书籍时有个问题没想明白:

1、就是在Data Model中创建两个Entity间的Relationship时,这个Relationship会**以某种形式存入数据库**吗?
2、如果存入数据库,那么是否表示当第一次创建Entity间的relationship后,以后每次一个Entity通过relationship获取其他Entity时系统会自动做类似表的连接操作?
3、如果不会自动存入数据库且需要每次应用启动后载入Entity并创建他们之间的Relationship,而由于不可能一次将所有Entity都读入,那么relationship就存在不完全问题,也就没法直接通过它来获取其他Entity,岂不是相当鸡肋的东西?

麻烦各位牛人解答,谢谢啦~

解决方案

在程序里初始化了一个sqlite类型的data model, 然后创建entity和他们的relationship,然后使用firefox的sqlite manager查看发现除了entity自身的表,还包括由不同entity表的primary key组成的关系表,这样应该能认为relationship首次添加后以后就可以直接读取,而新的entity添加后系统会自动维护他们间的对应关系是吧?

时间: 2024-10-29 01:12:46

ios-IOS Core Data部分两个Entity之间的RelationShip的存储问题的相关文章

《Core Data应用开发实践指南》一3.4 默认的迁移方式

3.4 默认的迁移方式 有时候我们需要比轻量级迁移更为精细的控制手段.比方说,我们要把Measurement实体替换成另外一个名叫Amount的实体,并且还想把Measurement实体中名叫abc的那个属性迁移到Amount实体中的xyz 属性上面.abc中已有的数据也要迁移到xyz属性.为了完成这些需求,开发者需要创建模型映射,以便手工指明映射关系.在添加持久化存储区时,即便NSInferMappingModelAutomaticallyOption选项设为YES,Core Data也还是会

《Core Data应用开发实践指南》一1.1 Core Data是什么

1.1 Core Data是什么 Core Data是个框架,它使得开发者可以把数据当成对象来操作,而不必在乎数据在磁盘中的存储方式.对于Objective-C程序员来说,这很有用,因为他们已经可以通过代码非常熟练地操作对象了.由Core Data所提供的数据对象叫做托管对象(managed object),而Core Data本身则位于你的应用程序和持久化存储区(persistent store)之间.持久化存储区是个通用的术语,指的是像SQLite数据库.XML文件(iOS不支持用XML文件

ios-IOS Core Data 通过条件查询数据库

问题描述 IOS Core Data 通过条件查询数据库 数据库中已经存入数据,在使用的查询条件是request.predicate = NSPredicate(format: "id == %i", student.ID!) 数据库中的id使用的是integer32, student.ID的类型也是这个. 通过这个条件查不到任何记录.同样的我通过查询条件request.predicate = NSPredicate(format: "name == %@" ,st

《Core Data应用开发实践指南》一2.2 添加托管对象模型

2.2 添加托管对象模型 在第1章中,我们通过CoreDataHelper.m文件里的mergedModelFromBundles方法初始化了托管对象模型.然而现在的问题是:项目里根本就没有模型可用!如果连模型都没有的话,那Core Data就彻底失去意义了,所以,我们这个时候应该创建模型文件.模型文件一般会含有"对象图",而对象图则用来表示应用程序的数据结构以及其他一些可以简化应用程序开发的东西,我们稍后再来解释.请按下列步骤修改Grocery Dude,以便添加数据模型文件: 在现

iOS App开发中Core Data框架基本的数据管理功能小结_IOS

一.何为CoreDataCoreData是一个专门用来管理数据的框架,其在性能与书写方便上都有很大的优势,在数据库管理方面,apple强烈推荐开发者使用CoreData框架,在apple的官方文档中称,使用CoreData框架可以减少开发者50%--70%的代码量,这虽然有些夸张,但由此可见,CoreData的确十分强大. 二.设计数据模型在iOS开发中,时常使用SQL数据库对大量的表结构数据进行处理,但是SQL有一个十分明显的缺陷,对于常规数据模型的表,其处理起来是没问题的,例如一个班级表,其

iOS 开发中使用 Core Data 应避免的十个错误

Core Data是苹果针对Mac和iOS平台开发的一个框架主要用来储存数据.对很多开发者来说Core Data比较容易入手但很难精通如果没有正确的学习方法你将很难真正理解它更不用说精通了.很多开发者常常在这方面犯一些错误而这篇文章列出了 开发者在iOS开发过程中使用Core Data常见的一些错误并对如何避免这些错误进行了分析. 1.不了解关键术语 对于iOS开发者来说会使用Core Data是一项必备技能. 没有它很多app都不会存在.当在互联网上四处搜索Core Data学习教程你很容易被

详解iOS应用开发中Core Data数据存储的使用_IOS

1.如果想创建一个带有coreData的程序,要在项目初始化的时候勾选中  2.创建完成之后,会发现在AppDelegate里多出了几个属性,和2个方法 复制代码 代码如下: <span style="font-size:18px;">    @property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;  @property (readonly, strong, n

iOS开发笔记 7、数据【Preferences、文件、库、Core Data】

程序开发中根据要使用各种各样的数据,如配制.文件系统.数据库等,iOS对这个有很好的支持 Preferences If you're going to create a program that has built-in preferences, you should do so using the Utility Application template. To create the special cartouched list used by preferences, you must c

iOS Core Data的returnsObjectsAsFaults属性

来自论坛的一个问题:[CoreData] returnsObjectsAsFaults是什么用的. 这个属性是用来做优化的,但是有时候反而会降低性能,打个简单的比方,假如你有一个Department对象,它和Employee对象是一对多的关系(比如一个部门有100个员工),当你加载Department的时候,它包含的所有Employee也被加载了,此时如果returnsObjectsAsFaults为YES,则员工们不会被添加到内存中,而是被放在了row cache里,Department对象里