UIKit-Realm数据库的使用
前言
在了解Realm之前,建议了解一下使用文档
了解一下Object、Results、List、LinkingObjects的概念
从Realm到UnRealm
在Realm中存储对象,都需要是class类型(来满足Realm的即时更改,我们在基础课中学习过class是引用传递)
属性支持:Bool
、Int
、Double
、Float
、String
、Date
和Data
,由于Data
的特殊性,我们可以利用Data来存储各种特殊的类型例如Image
、Color
、Struct
等等
Realm的基础使用可以参考这篇文章:https://juejin.im/post/6844904117442215944
更加深入一些:https://juejin.im/post/6844904117446377480#heading-60
but!这似乎太过麻烦了,为了一个对象我们需要实现一个Class并且加上复杂的init方法以及难以维护(代码量大)的属性设定。
于是可以使用UnRealm这个库:https://github.com/arturdev/Unrealm
看看简介,Awesome
只要让你的class或者struct遵循Realmable协议,那么就可以像一个正常对象去存储和使用,唯一的缺点就是原来Realm数据库支持的实时更新特性不存在了(Class是引用传递,因此取出一个对象后,对属性进行更改,数据库中的对象属性也会跟着更改)
后记
虽然UnRealm还难免有些不完整(add数组没有写泛型,需要自己写for循环)但是也是一个帮助很大的第三方库,RealmBrowser的帮助能够直观地看到数据分布,也是非常好用!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 X Mεl0n | 随手记!