您的位置:首页 > 移动开发

移动端专用数据库Realm介绍

2016-03-09 18:26 393 查看
目前我们一个Swift iOS App使用了Realm做数据存储,放弃了CoreData和Sqlite。
项目地址 https://github.com/realm
Realm是一个直接运行在手机,平板,可穿戴设备的移动端数据库,Sqlite和ORM框架的替代品。有Android,iOS和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>()
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: