首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MagicalRecord,一个简化CoreData操作的工具库

/github.com/magicalpanda/MagicalRecord 实例下载:https://github.com/ios122/MagicalRecord 在软件工程中,活动记录模式是一种用于在关系数据库中存储数据的设计模式...默认地, MagicalRecord 会自动尝试使用要导入的数据中的键匹配属性和关系名....如果一个CoreData模型中的属性或关系名与要导入的数据中的某个键匹配,那你不需要做任何事 - 键对应的值会自动导入....往往,要导入的数据中的键和结构和你的实体属性与关系不匹配.在这种情况下,你需要告诉 MagicalRecord 如何映射你要导入的数据的键到你的CoreData模型中匹配的属性或关系....Boolean 为true时,如果要导入的数据没有对应的键,就使用此属性预设的默认值.

1.6K50

30分钟摸透iOS中谓词NSPredicate的来龙去脉

30分钟摸透iOS中谓词NSPredicate的来龙去脉 一、引言     在现代汉语的解释中,谓词是用来描述或判断客体性质、特征或者客体之间关系的词项。通俗的说,它是描述事物属性的。...有一个小细节需要注意,在进行格式化时,如果使用的是变量则不需要添加引号,解析器会帮助你添加,如果使用到常量,则要用转义字符进行转义,例如: NSPredicate * predicate = [NSPredicate...例如使用下面的代码来改写上面的例子: //创建左侧表达式对象 对应为键 NSExpression * left = [NSExpression expressionForKeyPath:...类的子类,其使用逻辑关系来组合多个谓词对象,解析如下: //进行对象初始化 /* typedef NS_ENUM(NSUInteger, NSCompoundPredicateType) { NSNotPredicateType...对象的验证前面有介绍,关于数据和集合的过滤函数,类别如下: @interface NSArray (NSPredicateSupport) //不可变数组使用过滤器后返回新数组

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL Server数据库介绍

    :由硬件、操作系统、数据库、数据库管理系统、应用软件和用户组成 2、DBMS数据模型: 网状模型:支持多对多、多对一的关系 层次模型:支持一对多 关系模型:通过E-R模型(实体-关系图) 3、主流数据库...Server:只能在Windows平台,简单、易用 Oracle:甲骨文公司出品,主流平台、安全、完善、操作复杂 DB2:IMB公司,大型、安全、完善 Mysql:开源、体积小、速度快、稳定 4、关系数据库概念...: 主键Primary Key:由一个或多个字段组成,且有唯一性,不允许为空值,一个表只能有一个主键 候选键:主键的备选键,可以有多个 外键:将主键添加到第二个表中,在第二个表中称为外键,用于联系其他表...,不允许引用不存在的元组 5、数据完整性规则: 实体完整性:不能为空 域完整性规则:某一列的值是否有效 引用完整性:不允许引用不存在的元组 用户定义的完整性:针对具体数据的约束 6、SQL 2008R2...64位安装准备: CPU:支持64位1.4G以上 内存:1G以上 硬盘:3.6G以上 操作系统:2003 sp2 64位除web版 2008 64位所有版本 安全性:使用防火墙,隔离其他服务,

    2.3K60

    iOS面试题梳理(二)

    KeyPath、KVC、KVO 键路径(KeyPath): 1.在一个给定的实体中,同一个属性的所有值具有相同的数据类型。 2.键-值编码技术用于进行这样的查找,它是一种间接访问对象属性的机制。...键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接在一起的对象性质序列。第一个键的性质是由先前的性质决定的,接下来每个键的值也是相对于其前面的性质。...NSNotification、Block、Delegate和KVO的区别 1.代理是一种回调机制,且是一对一的关系,通知是一对多的关系,一个对向所有的观察者提供变更通知; 2.效率:Delegate比NSNOtification...谓词的认识 Cocoa 中提供了一个NSPredicate的类,该类主要用于指定过滤器的条件, 每一个对象通过谓词进行筛选,判断条件是否匹配。...iOS 开发中数据持久性有哪几种数据存储的核心都是写文件。

    1.2K101

    SQL Server数据库介绍

    :由硬件、操作系统、数据库、数据库管理系统、应用软件和用户组成 2、DBMS数据模型: 网状模型:支持多对多、多对一的关系 层次模型:支持一对多 关系模型:通过E-R模型(实体-关系图) 3、主流数据库...Server:只能在Windows平台,简单、易用 Oracle:甲骨文公司出品,主流平台、安全、完善、操作复杂 DB2:IMB公司,大型、安全、完善 Mysql:开源、体积小、速度快、稳定 4、关系数据库概念...: 主键Primary Key:由一个或多个字段组成,且有唯一性,不允许为空值,一个表只能有一个主键 候选键:主键的备选键,可以有多个 外键:将主键添加到第二个表中,在第二个表中称为外键,用于联系其他表...,不允许引用不存在的元组 5、数据完整性规则: 实体完整性:不能为空 域完整性规则:某一列的值是否有效 引用完整性:不允许引用不存在的元组 用户定义的完整性:针对具体数据的约束 6、SQL 2008R2...64位安装准备: CPU :支持64位 1.4G以上 内存:1G以上 硬盘:3.6G以上 操作系统:2003 sp2 64位除web版 2008 64位所有版本 安全性:使用防火墙,隔离其他服务

    1.7K50

    【重学MySQL】四、关系型数据库设计规则

    主键可以是单个字段,也可以是多个字段的组合(复合主键)。主键字段的值必须是唯一的,且不允许为空。 外键约束:在需要表示表之间关联关系时,可以使用外键。...外键是另一个表的主键的副本,用于在两个表之间建立联系。外键的使用有助于维护数据的完整性和一致性。 记录设计规则 记录的唯一性:表中的每一条记录都应是唯一的,这通常通过主键来保证。...例如,对于整数类型的数据,应尽量避免使用浮点类型;对于文本类型的数据,应根据实际需要选择合适的长度。 非空约束:对于不允许为空的字段,应设置非空约束。这有助于确保数据的完整性和准确性。...多对多关系(Many-to-Many Relationship) 定义:当一个表的多个记录(行)与另一个表的多个记录(行)具有关联关系时,就存在多对多关系。...在这种关系中,通常需要使用一个中间表(也称为连接表或联接表)来建立关系。 示例: “学生”表与“课程”表:一个学生可以选择多门课程,一门课程也可以有多个学生选择。

    8510

    2.1 PowerBI数据建模-天下大模型必作于小的星型架构

    事实表包含用于一个或多个与维度表关联的维度键列及数值列。 随着时间的推移,事实表的行将累积,通常包含大量的行。通过汇总事实表的数据生成度量值,体现业务实体的某种指标的程度,比如销售额、库存数量等。...星型架构就是在一个模型关系图中,以事实表是中心,以维度表做分支,建立各种维度表与事实表之间的关系,关系的方向是维度表筛选事实表,理想状态是多对一。...需要注意的是任意两个表之间只能有一条活动的实线关系,两条或者关系传递形成了闭环都是不允许的,计算机就不知道使用哪条关系进行筛选了,所以星型架构建模中,要避免将事实表直接关联到其他事实表,虽然他们可能存在共同的维度列...在星型架构的基础上,把维度表再次拆分为多个表,比如产品表、品牌表、品类表,形成几个多对一的关系,这种分支上再连接分支,称之为雪花维度。...STEP 3 从维度表中拖动维度表与事实表的共有字段建立关系,注意关系两端的字段类型要一致,无论是多对一还是多对多,筛选的方向至少是维度表筛选事实表。

    6610

    SQL Server数据库入门基础知识

    SQL Server数据库相关知识点 1、为什么要使用数据库? 数据库技术是计算机科学的核心技术之一。使用数据库可以高效且条理分明地存储数据、使人们能够更加迅速、方便地管理数据。...;如工程数据库、多媒体数据库、图形数据库、智能数据库等 4、数据库的三种模型 ·网状模型:数据关系多对多、多对一,较复杂 ·层次模型:类似与公司上下级关系 ·关系模型:实体(实现世界的事物、如×××、银行账户...,它代表相应数据库中存储对象的共有的属性 ⑵主键和外键 主键:是唯一标识表中的行数据,一个主键对应一行数据;主键可以有一个或多个字段组成;主键的值具有唯一性、不允许为控制(null);每个表只允许存在一个主键...外键:外键是用于建立和加强两个表数据之间的链接的一列或多列;一个关系数据库通常包含多个表,外键可以使这些表关联起来。...⑶数据完整性规则 ·实体完整性规则:要求关系中的元组在主键的属性上不能有null ·域完整性规则:指定一个数据集对某一个列是否有效或确定是否允许null ·引用完整性规则:如果两个表关联,引用完整性规则要求不允许引用不存在的元组

    66710

    「死磕」Core Data——入门

    「太长不看版」 本文确实比较长(从侧面印证Core Data内容确实多),所以这里写一个「太长不看版」,「以飨读者」: Core Data使用流程: 创建Core Data Stack iOS10中利用...Managed Object Model,就是Core Data中用于描述实体、实体特性、实体间关系的一套方案。...Relationship / 关系 「实体关系」。 NSRelationshipDescription类实例。用于描述Entity之间的关系。 对应示意图第4个框框。 Managed Object。...这种方法,如果有「对多」的关系,会生成2个Category(Core Data生成的NSManagedObject子类,都是以Category形式存在的) CoreDataProperties:生成实体中...Relationships也会生成对应的属性:「对多」关系是NSSet/NSOrderSet类型属性(本质是个集合),「对一」关系则是非集合的对象类型属性。

    1.1K20

    『互联网架构』软件架构-Sharding-Sphere分库分表(66)

    (二)分片的核心概念 SQL核心概念 逻辑表 水平拆分的数据库(表)的相同逻辑和数据结构表的总称。...除了对单分片字段的支持,ShardingSphere也支持根据多个字段进行分片。 分片算法 通过分片算法将数据分片,支持通过=、BETWEEN和IN分片。...3.复合分片算法 对应ComplexKeysShardingAlgorithm,用于处理使用多键作为分片键进行分片的场景,包含多个分片键的逻辑较复杂,需要应用开发者自行处理其中的复杂度。...使用Groovy的表达式,提供对SQL语句中的=和IN的分片操作支持,只支持单分片键。...6.指针控制语言(CCL) 它的语句,想DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

    98580

    数据库在一对一、一对多、多对多怎么设计表关系

    1、一对一可以两个实体设计在一个数据库中l例如设计一个夫妻表,里面放丈夫和妻子 2、一对多可以建两张表,将一这一方的主键作为多那一方的外键,例如一个学生表可以加一个字段指向班级(班级与学生一对多的关系...) 3、多对多可以多加一张中间表,将另外两个表的主键放到这个表中(如教师和学生就是多对多的关系) ---- 关于外键的设置: 首先,外键引用的那个列在主表中必须是主键列或者唯一列。...n:m的情况,需要建立一个关系表,两个原表和其关系分别是1:n,1:m ---- 关于主外键及多表联系的进一步理解: 主外键的存在是依托两个实体之间的关系而存在的; 比如班级与学生的关系: 一个班级可以有多个学生...,并且一个学生只能属于一个班级,这就是一对多的关系; 那么设计数据库的时候就应该在学生表内存放班级的ID作为外键,为什么不在班级表内放学生呢?...,两个表间的关系就是一对多的关系了,并且学生表内的classid必须依托班级表的classid存在,也就是说外键必须要主键存在的时候才能创建,例如: --在班级表为空的情况往学生表插入一条记录是不允许的

    5K20

    iOS CoreData (一) 增删改查

    Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成...NSPersistentContainer是一个容器,封装了应用程序中的CoreData Stack(核心数据栈堆),简化了创建和管理的核心堆栈的数据处理创建NSManagedObjectModel,NSPersistentStoreCoordinator...NSPersistentStoreCoordinator *persistentStoreCoordinator = container.persistentStoreCoordinator; //使用存储调度器快速在多线程中操作数据库...er*'" *注*: 星号 "*" : 代表0个或多个字符 问号 "?"...谓词中的匹配指令关键字通常使用大写字母 2. 谓词中可以使用格式字符串 3.

    1.2K70

    数据库模型设计——关系的实现

    这只是概念上的关系,但是在真实的关系数据库中,我们只有外键,并没有这三种关系,那么我们就来说一说在关系数据库管理系统中,怎么实现这三种关系。 一对多 这里先讲解一对多,因为这个关系最简单。...一对多和多对一是一回事,所以就不再提多对一这个词。一对多的概念是一个对象A会对应多个对象B,而从B的角度看,一个对象B只会对于一个对象A。比如说班级和学生就是一对多关系。...一个班级对应多个学生,一个学生只会对于一个班级。 一对多的关系之所以说简单,是因为RDBMS的外键其实就是表示一对多关系。...多对多 多对多的关系在数据库设计时比一对一要常见,所以这里先说说多对多。多对多是一个对象A对应多个对象B,从B角度看,一个对象B也会对应多个对象A。比如说学生和课程的关系就是多对多关系。...一个学生会学习多门课程,一门课程会有多个学生来选修。 在RDBMS中,必须使用中间表来表示多对多的关系。中间表我们可以分成两种,一种是纯粹表示关系的中间表,一种是表示中间实体的中间表。

    90410

    iOS-谓词的使用详解import typedef NS_ENUM(NSInteger, PersonSex) {

    一、NSPredicate基本语句 只要我们使用谓词(NSPredicate)都需要为谓词定义谓词表达式,而这个表达式必须是一个返回BOOL的值。 谓词表达式由表达式、运算符和值构成。...`代表一个字符和`*`代表任意多个字符两个通配符。比如`"name LIKE '*ac*'"`,这表示name的值中包含`ac`则返回YES;`"name LIKE '?...// 1.判断姓名是否是以s开头的,上面已经用过BEGINSWITH方法,这里用LIKE NSPredicate *pred1 = [NSPredicate predicateWithFormat:...而谓词最常用的功能就是对集合进行过滤。当程序使用谓词对集合元素进行过滤时,程序会自动遍历其元素,并根据集合元素来计算谓词的值,当这个集合中的元素计算谓词并返回YES时,这个元素才会被保留下来。...首先如果我们想在谓词表达式中使用变量,那么我们需要了解下列两种占位符: ` %K`:用于动态传入属性名 `%@`:用于动态设置属性值 其实相当于变量名与变量值,除此之外,还可以在谓词表达式中使用动态改变的属性值

    1.6K50

    iOS CoreData (一) 增删改查

    Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成...NSPersistentContainer是一个容器,封装了应用程序中的CoreData Stack(核心数据栈堆),简化了创建和管理的核心堆栈的数据处理创建NSManagedObjectModel,NSPersistentStoreCoordinator...NSPersistentStoreCoordinator *persistentStoreCoordinator = container.persistentStoreCoordinator; //使用存储调度器快速在多线程中操作数据库...er*'" *注*: 星号 "*" : 代表0个或多个字符 问号 "?"...谓词中的匹配指令关键字通常使用大写字母 2. 谓词中可以使用格式字符串 3.

    1.1K80

    Python 高级笔记第二部分:数据库的概述和MySQL数据表操作

    子句结果作为一个值使用时,返回的结果需要一个明确值,不能是多行或者多列。 3. 如果子句结果作为一个集合使用,即where子句中是in操作,则结果可以是一个字段的多个记录。...一对多和多对多是常见的表数据关系: 一对多关系 一张表中有一条记录可以对应另外一张表中的多条记录;但是反过来,另外一张表的一条记录 只能对应第一张表的一条记录,这种关系就是一对多或多对一 举例:...多对多关系 一对表中(A)的一条记录能够对应另外一张表(B)中的多条记录;同时B表中的一条记录 也能对应A表中的多条记录 举例:一个运动员可以报多个项目,每个项目也会有多个运动员参加,这时为了表达多对多关系需要单独创建关系表...专业 … 感受属性 :悲伤、喜悦、刺激、愤怒 … 关系 实体之间的联系 一对多关联(1:n) 多对多关联(m:n) ✨E-R图的绘制 矩形框代表实体,菱形框代表关系,椭圆形代表属性 ⭐️表关联查询...如果多个表存在一定关联关系,可以多表在一起进行查询操作,其实表的关联整理与外键约束之间并没有必然联系,但是基于外键约束设计的具有关联性的表往往会更多使用关联查询查找数据。

    1.8K20

    【数据结构】数据结构概念 ( 数据结构中常见的存储结构 | 数据结构中常见的逻辑结构 )

    图(Graph): 非线性数据结构,由节点和边组成,节点之间的关系可以是任意的。 堆(Heap): 特殊的树形数据结构,具有特定的堆属性,常用于实现优先队列等应用。...散列表(Hash Table): 根据键(Key)直接访问值(Value)的数据结构,通过散列函数将键映射到存储位置。...集合结构中的元素是无序的,且不允许重复。 线性结构 : Linear Structure , 线性结构中的 数据元素之间存在一对一的关系,元素之间只有前后两个相邻关系。...非线性结构 : Nonlinear Structure , 非线性结构中的 数据元素之间存在多对多的关系,元素之间的连接关系不仅仅是前后关系。...常见的非线性结构有树和图 : 树形结构 : 树结构中的数据元素按照层次关系组织,每个元素可以有多个子节点; 图形结构 : 图结构中的数据元素之间的关系可以是任意的,包括多对多的连接关系。

    34120

    如何在 Core Data 中进行批量操作

    ,如果可选属性的值为 nil,可以不在字典中添加 批量添加无法处理 Core Data 的关系 当多个持久化存储都包含同一个实体模型时,默认情况下,新创建的数据会写入到持久化存储协调器 persistentStores...iCloud 私有数据库[10] 批量删除对 Core Data 关系的有限支持 在以下两种情况下,批量删除可以自动完成关系数据的清理工作: 采用了 Cascade 删除规则的关系 比如 Item 有一个名为...attachment 的关系( 一对一或一对多 ),Item 端设定的删除规则为 Cascade 。...比如 Item 有一个名为 attachment 的关系( 一对一或一对多 ),Item 端设定的删除规则为 Nullify ,且关系为可选( Optional )。...image-20220605154156584 或许正因为批量删除提供了对部分 Core Data 关系的支持,因此让它成为最常使用的批量操作。

    1.8K30
    领券