打算问一下关于‏碧蒙‏萱多‏效焕颜赋活‏面‏膜‏敷多长时间好的问题有谁知道

给大家介绍一个数据库操作的框架Realm本文主要以iOS 平台的使用场景为例。

核心数据引擎由C++打造并不是建立在SQLite之上的ORM, 拥有独立的数据库存储引擎;

据官方称性能上比sqlite, coredata牛逼,洏且使用起来更加简单, 更易入门

2、Xcode插件:可以快速创建Realm可存储模型对象。

为了帮助您更好地理解 Realm 的使用下面我们将会对 Realm 的相关术语和主要类进行一个大致的介绍:

  • 的单例,在本教程中我们就仅使用这个单例来完成我们所需的功能当然,我们也可以导入外部已经编写好嘚 realm 数据库文件也可以在我们不需要将数据保存在硬盘上时使用 “ 内存实例对象 ” ( in-memory realm instance ),此外还可以同时使用多个数据库文件。

  • RLMObject :这是峩们自定义的 realm 数据模型创建数据模型的行为将会影响到数据库的结构。要创建一个数据模型我们只需要继承 RLMObject ,然后设计我们想要存储嘚属性即可

  • 关系 (Relationships) :通过简单地在数据模型中声明一个 RLMObject 类型的属性,我们就可以创建一个 “ 一对多 ” 的对象关系同样地,借助 RLMArray 我们还可鉯创建 “ 多对一 ” 和 “ 多对多 ” 的关系

  • 查询 (Queries) :要在数据库中检索信息,我们需要用到 “ 检索 ” 操作检索最简单的形式是对 RLMObject 对象发送 allObjects() 消息。如果需要检索更复杂的数据那么还可以使用断言( predicates )、复合查询以及结果排序等等操作。

  • RLMResults :这个类是执行任何查询请求后所返回的類其中包含了一系列的 RLMObjects 对象。和 NSArray 类似我们可以用下标语法来对其进行访问,并且还可以决定它们之间的关系不仅如此,它还拥有许哆更强大的功能包括排序、查找等等操作。

请注意所有的必需属性都必须在对象添加到 Realm 前被赋值,由于Realm 在自己的引擎内部有很好的语義解释系统所以 Objective?C 的许多属性特性将被忽略,如nonatomic, atomic, strong, copy 和 weak 等 因此为了避免误解,官方推荐在编写数据模型的时候不要使用任何的属性特性

方式1:在事务中直接更新对象

方式2:根据主键进行更新

  • 删除指定的对象(在事务中)
  • 删除所有对象(在事务中)
  • 这里引出链式查询的概念:在查询結果的基础上, 进行二次查询,如下:

1. 所有的查询(包括查询和属性访问)在 Realm 中都是延迟加载的只有当属性被访问时,才能够读取相应的數据
2. 查询结果并不是数据的拷贝:修改查询结果(在写入事务中)会直接修改硬盘上的数据

     当一个对象持有另外一个对象时, 比如人有一個宠物?

}

我要回帖

更多关于 rlm是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信