如何在 SwiftUI 上最有效地存储用户输入数据?

How can I store most-effectively user input data on SwiftUI?

我正在 SwiftUI 中构建一个应用程序,它是“Notes”的更深入版本。计划是用户可以创建组,并在其中创建带有图像、链接等的特定注释。你知道的。我想知道完美/最有效的存储类型是什么。用户输入应该只能通过他的设备访问数据。

Realm/Firebase 是必需的吗? UserDefault/另一个 SwiftUI 函数是否足以存储不同的输入/图像等?

提前致谢!

UserDefaults 非常适合小块数据——比如设置。它在应用程序加载时加载并且可以快速访问。您还可以通过 NSUbiquitousKeyValueStore 轻松地将它与 iCloud 同步 - 并且您不会失去将应用程序转移到另一个帐户的能力,否则您会使用 CloudKit.

但是,在您的使用中,UserDefaults 可能不是保存数据的理想解决方案。首先,您可能希望在几条数据之间建立某种关系——使用 RealmCore Data 更简单。此外,由于有很多笔记,您不希望在应用程序启动时加载每条笔记。太慢了。使用UserDefaults,迁移数据等会更加困难

Apple 过去对 UserDefaults 的大小有限制,现在已经不存在了,只保留给电视应用(1MB 并且应用已终止),但我建议考虑限制您为应用程序建模,这样性能就不会受到影响。