2016-09-15 84 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