I have the following test code:
func testSaveDictionary() {
let userDefaults = NSUserDefaults.standardUserDefaults()
var jo = [
\"a\" : \"1.0
I faced with this problem yesterday and filed a radar: Cannot store Dictionary in NSUserDefaults in iOS8. This issue is related only to iOS 8. Also I described a workaround for this case: Workaround for saving dictionary in NSUserDefaults. Works like a charm.
/// Save
NSUserDefaults.standardUserDefaults().setObject(NSKeyedArchiver.archivedDataWithRootObject(object), forKey: key)
/// Read
var data = NSUserDefaults.standardUserDefaults().objectForKey(key) as NSData
var object = NSKeyedUnarchiver.unarchiveObjectWithData(data) as [String: String]