Ios 如何保存用户选择的项目

Ios 如何保存用户选择的项目,ios,swift,xcode,Ios,Swift,Xcode,我的应用程序以五个细胞Ca、Alk、Mg、PO3、NO3开始。当用户点击他们想要给Ca加剂量的细胞时,它会进入一个包含所有Ca产品的屏幕。从那里,他们可以选择他们需要使用的Ca产品,然后进入计算器屏幕,在那里他们可以计算他们需要的剂量 我需要为用户找到一种方法来保存他们选择的产品,所以假设他们选择了Ca,我希望他们将产品保存在Ca列表中,如果他们选择了Alk,我希望他们将产品保存在Alk列表中 我不知道UserDefaults对此是否合适,或者我是否需要CoreData。我个人会使用CoreDa

我的应用程序以五个细胞Ca、Alk、Mg、PO3、NO3开始。当用户点击他们想要给Ca加剂量的细胞时,它会进入一个包含所有Ca产品的屏幕。从那里,他们可以选择他们需要使用的Ca产品,然后进入计算器屏幕,在那里他们可以计算他们需要的剂量

我需要为用户找到一种方法来保存他们选择的产品,所以假设他们选择了Ca,我希望他们将产品保存在Ca列表中,如果他们选择了Alk,我希望他们将产品保存在Alk列表中


我不知道UserDefaults对此是否合适,或者我是否需要CoreData。

我个人会使用CoreData而不是UserDefaults。CoreData旨在以一种更通用的方式解决持久性问题,这种方式可以根据您正在构建的内容的需要进行扩展。使用其中任何一个都可以实现您所描述的功能,但是如果您使用核心数据,那么使用生成的文件对数据进行建模将为您的代码提供安全、迁移和性能

用于根据要解决的问题确定要使用的数据存储类型

对于如何实际使用CoreData的帮助,本文给出了一些基本CRUD操作的代码示例


您想要保存的“产品”到底是什么?它只是一个字符串值还是您自己的自定义类型?该产品是我自己的自定义类型,下面是它的外观ProductNamename:Aquaforest KH Plus,productType:ReefDoser.ProductComposition.liquid,productRatio:0.660268,productCategory:ReefDoser.productType.Alkalinity您可以将其保存为用户默认值,但不应该!我会实现某种数据库来存储这些数据。CoreData、Realm、Firebase、sqlite等。。。