如何在 SwiftUI 上最有效地存储用户输入数据?
How can I store most-effectively user input data on SwiftUI?
我正在 SwiftUI 中构建一个应用程序,它是“Notes”的更深入版本。计划是用户可以创建组,并在其中创建带有图像、链接等的特定注释。你知道的。我想知道完美/最有效的存储类型是什么。用户输入应该只能通过他的设备访问数据。
Realm/Firebase 是必需的吗?
UserDefault/另一个 SwiftUI 函数是否足以存储不同的输入/图像等?
提前致谢!
UserDefaults
非常适合小块数据——比如设置。它在应用程序加载时加载并且可以快速访问。您还可以通过 NSUbiquitousKeyValueStore
轻松地将它与 iCloud 同步 - 并且您不会失去将应用程序转移到另一个帐户的能力,否则您会使用 CloudKit
.
但是,在您的使用中,UserDefaults
可能不是保存数据的理想解决方案。首先,您可能希望在几条数据之间建立某种关系——使用 Realm
或 Core Data
更简单。此外,由于有很多笔记,您不希望在应用程序启动时加载每条笔记。太慢了。使用UserDefaults
,迁移数据等会更加困难
Apple 过去对 UserDefaults
的大小有限制,现在已经不存在了,只保留给电视应用(1MB 并且应用已终止),但我建议考虑限制您为应用程序建模,这样性能就不会受到影响。
我正在 SwiftUI 中构建一个应用程序,它是“Notes”的更深入版本。计划是用户可以创建组,并在其中创建带有图像、链接等的特定注释。你知道的。我想知道完美/最有效的存储类型是什么。用户输入应该只能通过他的设备访问数据。
Realm/Firebase 是必需的吗? UserDefault/另一个 SwiftUI 函数是否足以存储不同的输入/图像等?
提前致谢!
UserDefaults
非常适合小块数据——比如设置。它在应用程序加载时加载并且可以快速访问。您还可以通过 NSUbiquitousKeyValueStore
轻松地将它与 iCloud 同步 - 并且您不会失去将应用程序转移到另一个帐户的能力,否则您会使用 CloudKit
.
但是,在您的使用中,UserDefaults
可能不是保存数据的理想解决方案。首先,您可能希望在几条数据之间建立某种关系——使用 Realm
或 Core Data
更简单。此外,由于有很多笔记,您不希望在应用程序启动时加载每条笔记。太慢了。使用UserDefaults
,迁移数据等会更加困难
Apple 过去对 UserDefaults
的大小有限制,现在已经不存在了,只保留给电视应用(1MB 并且应用已终止),但我建议考虑限制您为应用程序建模,这样性能就不会受到影响。