我所知道的,到目前爲止的回答:存儲詮釋的NSUserDefaults的錯誤的字典和數組
據我所知,只有你可以存儲到NSUserDefaults的某些數據類型:
NSUserDefaults類提供訪問常見類型的便捷方法,例如
floats
,doubles
,integers
,Booleans
和URLs
。一個默認對象必須是一個屬性列表,也就是一個實例(或集合的實例組合):NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。如果你想存儲任何其他類型的對象,你通常應該將其存檔以創建一個NSData實例。
而且我知道我能做到以下幾點:
var cities = [String]()
cities = NSUserDefaults.standardUserDefaults().objectForKey("cities") as! NSArray
這是允許的,因爲它蒙上我的城市String數組到一個NSArray和接受NSUserDefaults的這種數據類型。但是,我有一個Int和一個數組的字典,即var addressDict = Dictionary<Int, Array<String>>()
。我知道NSUserDefaults接受NSDictionary,NSInteger和NSArray。
我想知道什麼該怎麼做:
我想投我addressDict
適當使接受NSUserDefaults的我addressDict。雖然,我知道Dictionary,Array和Int可以作爲獨立的實體轉換成NS的對應實體,但我不知道如何完全做到這一點,因爲數據類型爲Dictionary<Int, Array<String>>()
。任何幫助?例如,我知道這是完全錯誤的,但像NSDictionary<NSInteger, NSArray<String>>
什麼的。
你不能存儲帶有'NSNumber'或'Int'作爲鍵的字典 –