NSUserDefaults中只可以存儲不可變數(shù)據(jù),如果存儲一個可變的數(shù)組或可變字典,取出數(shù)據(jù)時數(shù)組或字典變成不可變類型,如果在修改它們,程序就會報錯,所以如果想用NSUserDefaults存儲可變數(shù)據(jù),需要在取出數(shù)據(jù)之后,把數(shù)據(jù)轉(zhuǎn)變?yōu)榭勺冾愋?
//取出數(shù)據(jù)存入字典中
NSDictionary *dict = [[NSUserDefaults standardUserDefaults]objectForKey:DEVICE_PUSH_SWITCH];
//轉(zhuǎn)變?yōu)榭勺冏值?self.subDeviceSwitchDictM = [NSMutableDictionary dictionaryWithDictionary:dict];