2016-09-15 13 views
0

私は、ユーザーの電話に保存するはずのカスタム辞書で作業しようとしています。残念ながら、実際に保存して正しく引き出すために辞書を取得するのに問題があります。それは私が作った構造体を参照していますカスタム辞書リファレンス - Swift

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

あなたはトップレベルの辞書のインスタンスを持っている必要があります。

var allInfo = [String: DayData]() 

次にあなたが辞書の添字を使用してデータを更新できます。このように辞書を使用してデータのみを保持することを

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

注意をアプリケーションが実行されている限りです。ユーザーがアプリケーションを終了すると、データが失われます。最も一般的なのはCoreDataRealmのデータキャッシングのソリューションがいくつかあります。