移动端专用数据库Realm介绍

Posted offbye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端专用数据库Realm介绍相关的知识,希望对你有一定的参考价值。

     目前我们一个Swift ios App使用了Realm做数据存储,放弃了CoreData和Sqlite。
     项目地址 https://github.com/realm


      Realm是一个直接运行在手机,平板,可穿戴设备的移动端数据库,Sqlite和ORM框架的替代品。有android,iOS和React native js版本。realm-cocoa项目包括           iOS/OS X版本的Objc和Swift实现。

      特性:
  • Mobile-first: Realm是第一个直接针对运行在手机,平板,可穿戴设备设计和开发的数据库   
  • Simple: 数据直接暴露成类对象,通过代码查询,避免了ORM映射的 维护和性能问题。另外,Realm努力保持API只包括4个基础类(Object, Array, Results and Realms)和一个工具类(Migrations),用户可以凭直觉使用,在几分钟内在App中用上realm
  • Modern: Realm支持关联,泛型,向量化,甚至支持Swift。
  • Fast:Realm在数据库基本操作上比原生Sqlite还要快,同时又保持更丰富的功能特性集。 


       realm-browser-osx项目是一个Mac上的Realm数据库客户端工具,支持查看和修改realm数据库文件,功能类似sqliteAdmin。


需要条件

 iOS 8 or later, OS X 10.9 or later & WatchKit,不支持iOS7.0,原因是iOS7.0不支持第三方动态库,而包含了swift代码又不能编译成静态库(但是objc版本realm支持iOS7.0)。Xcode 7.0 以上版本,建议Swift2.x以上版本。

示例代码

import RealmSwift

// Dog model
class Dog: Object {
    dynamic var name = ""
    dynamic var owner: Person? // Properties can be optional
}

// Person model
class Person: Object {
    dynamic var name = ""
    dynamic var birthdate = NSDate(timeIntervalSince1970: 1)
    let dogs = List<Dog>()
}


以上是关于移动端专用数据库Realm介绍的主要内容,如果未能解决你的问题,请参考以下文章

Swift-Realm数据库的使用详解

Rails和Realm移动数据库

Realm保留一个已删除的对象

Realm数据库的简单介绍和使用

Shiro实现多realm方案

Realm和RecyclerView项目排序和自动ViewPager片段通信