2016-09-15 62 views
0

我正在尝试使用应该保存到用户手机的自定义字典。不幸的是,我无法让字典实际保存并正确拖拉。我想这个问题可能是(除了其他可能的事情),我有应用程序每次打开的如下时间阅读我的自定义词典在顶层:自定义字典参考 - 斯威夫特

var allInformationByDate = [ 
"2016/09/02": DayData(sales: 0, doorsKnocked: 0, milesWalked: 0.00, hoursWorked: 0.00), 
"2016/09/01": DayData(sales: 0, doorsKnocked: 0, milesWalked: 0.00, hoursWorked: 0.00) 
] 

我相信这是引用一个结构我做:

struct DayData { // Let’s guess 
let sales: Int 
let doorsKnocked: Int 
let milesWalked: Double 
let hoursWorked: Double 
} 

更多地思考它,这是每次用户打开应用程序时重置字典,应该只是在保存自定义字典时拉动它。

我的问题是如何将变量作为变量引用而不用等号?我认为它会是这样的:

var allInformationByDate: customDictionary 

这只是一个猜测。有人知道吗?

回答

0

你应该有一个顶级的字典实例:

allInfo["2016/09/02"] = DayData(sales: 0,...) 

请注意,以这种方式使用字典将只持续数据:

var allInfo = [String: DayData]() 

然后,你可以通过使用词典标更新数据只要应用程序正在运行。如果用户退出您的应用程序,数据将会丢失。有几种数据缓存解决方案,最流行的是CoreDataRealm