如何使用 Realm swift 在本地设备上存储资产?

Posted

技术标签:

【中文标题】如何使用 Realm swift 在本地设备上存储资产?【英文标题】:How do I use Realm swift to store assets on device locally? 【发布时间】:2021-12-01 21:40:47 【问题描述】:

我正在尝试制作一个简单的 ios 应用程序,其中包含大量文本、视频链接等。我想使用领域存储这些数据。我不是在尝试存储用户数据,而是在存储文本、缩略图甚至一些资产等资产3D 文件。我怎样才能在本地做到这一点?

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

Realm 是第一个离线数据库,因此从本质上讲,所有数据都存储在本地。请参阅Quick Start 以开始使用本地存储

您需要添加额外的代码来同步和存储在云端 - 请参阅Sync Quick Start

这是一个本地存储数据的简单示例

class TaskClass: Object 
    @Persisted var task: String = ""


let task = TaskClass()
task.task = "Go Shopping"
let localRealm = try! Realm()
try! localRealm.write 
    localRealm.add(task)

上面的代码只会在本地存储一个Task对象。

话虽如此,Realm 对象属性限制为 16Mb - 这对于文本数据非常有用。

但是,它并不适合图像存储,因为图像很容易超过它。如果您要存储图像,MongoDB Realm 为图像数据提供了其他解决方案,还有其他解决方案,例如 Firebase 存储。

请注意,Realm 可以处理小型缩略图或图形,因为它们通常为几百 K,并且通常基于 Vector 的 3D 文件可能会存储在 Realm 中以及它的文本数据中。

更多阅读请看我对this question的回复

【讨论】:

以上是关于如何使用 Realm swift 在本地设备上存储资产?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像存储到Realm数据库?

Realm (Swift):如何在迁移期间获取 MutableSet 数据?

如何在 Swift 应用程序中保存本地数据?

使用swift杀死应用程序时如何存储ios推送通知

如何在Swift中返回Realm列表?

本地存储数组 (Swift)