2016-11-13 9 views
0

UserDefaultsで辞書を使用している人はいますか?Swift 3のUserdefaultsから辞書データを読み出すことができません

私が取得したいのは、特定の辞書をView ControllerからUserDefaultsを使用して別の辞書に渡すことです。

var dict = [String : AnyObject?]() 
dict = ["Name": "Henri", "Group": "A", "Category": "4"] 
UserDefaults.standard.set.(dict, forKey: "MyDict") 

それから私は、私は、コンソールにゼロ素敵な答えを得たデータに

let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict") 

を取得しよう。 int型や浮動小数点型で試してみるといいです...この辞書を作るのに何か欠けていますか?

+1

それは 'UserDefaults.standard.setする必要があります(辞書、forKey: "MyDict")' – jjatie

+0

UserDefaultsされますビューコントローラ間でデータをやりとりする恐ろしい方法です。 – Paulw11

答えて

2

まず、コードはコンパイルされません。

第2に、タイプ[String, AnyObject?]の辞書は、UserDefaultsにnilを設定できないため意味がありません。あなたはその目的のためにおそらく空のStringを使うべきです。

作業コードは、次のようになります。

var dict = [String : Any]() // or maybe [String : String] if you sure about value type 
    dict = ["Name": "Henri", "Group": "A", "Category": "4"] 
    UserDefaults.standard.set(dict, forKey: "MyDict") 
    let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict") 

は、それはあなたのお役に立てば幸いです:)

関連する問題