Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift中每天存储各种类型的数据?_Ios_Swift_Core Data - Fatal编程技术网

Ios 如何在Swift中每天存储各种类型的数据?

Ios 如何在Swift中每天存储各种类型的数据?,ios,swift,core-data,Ios,Swift,Core Data,我希望每天在CoreData中存储各种信息,如下所示: 第1天:字符串、整数、整数、双精度、布尔值 第2天:字符串、整数、整数、双精度、布尔值 第3天:… 最多几个月 由于信息的数量和类型,我计划将其保存在CoreData中,但我找不到最好的方法。我想使用数组,但由于它不能包含各种类型,最好的方法是什么? 通常,用户将每天输入此类信息,在界面上选择实际日期并输入所有输入 我使用的是Xcode。为什么不在CoreData中使用CoreData实体而不是数组?与实体名称类似:Day,Day的属性有:

我希望每天在CoreData中存储各种信息,如下所示:

第1天:字符串、整数、整数、双精度、布尔值
第2天:字符串、整数、整数、双精度、布尔值
第3天:…
最多几个月

由于信息的数量和类型,我计划将其保存在CoreData中,但我找不到最好的方法。我想使用数组,但由于它不能包含各种类型,最好的方法是什么? 通常,用户将每天输入此类信息,在界面上选择实际日期并输入所有输入


我使用的是Xcode。

为什么不在
CoreData
中使用
CoreData
实体而不是
数组
?与实体名称类似:Day,Day的属性有:stringintintdoublebool。我认为它比保存到数组中更清晰。如果只需要保存7个数据,可以对其进行排序,并删除第8个(最后一个)。

您必须在一定程度上设计数据模型。这有很多原因,它会让你的生活更轻松

我要做的是: 确保您对
一天中可能存储的数据类型有一个清晰的概念
使用字段(属性)创建模型(实体)。型号:
Day
字段:
可以存储、检索和显示的所有可能的数据点

例如,您的实体称为Day 您的属性:

thoughtOfTheDay: String?
peopleAnnoyedMeToday: Int16?
waterTakenInLiters: Float?
happyToday: Bool?
...

这样,您就可以清楚地了解可以保存和检索的内容,这样您就可以每天检查并使用非零的数据。

我可能误解了这个问题。这很简单,然后回答为@DaveloperOk谢谢!我问自己的问题是,我应该创建一个具有属性(日期、字符串、Int、Bool)的实体,还是创建两个链接在一起的实体,一个称为DateInput(属性:Date from a Date pickerView)和第二个实体输入(所有属性:String、Int、Bool等)-我不熟悉CoreData,拥有多个实体似乎会迅速增加编码的复杂性。您的观点是什么?正如我前面所说的,您需要在一定程度上设计您的数据模型。已经有人怀疑你用这一天作为模型。除了与日历相关的事情之外,没有什么是“一天”真正的特征,你有日历。你的模型应该被称为它是什么。比如说天气;是的,但这不是一天本身。或具有“日期”但在这两种情况下都可能是日期属性的消息。日期模型可以包括一天的全局统计数据和kpi。因此,它们是多个模型。让他们有日期属性。是的,看起来更简单!所以使用你提到的所有属性,当然我还需要添加Date属性。谢谢您可以将日期存储为字符串,只需将其转换为字符串即可。当您将加载它时,您只需将其解析为日期