Crash NSMutableDictionary设置值导致崩溃
这就是我在数组中添加的方式Crash NSMutableDictionary设置值导致崩溃,crash,nsmutabledictionary,Crash,Nsmutabledictionary,这就是我在数组中添加的方式 NSMutableArray *arr; arr = [[[NSMutableArray alloc] init] autorelease]; [[NSUserDefaults standardUserDefaults] setObject:arr forKey:kSelectedCurrencies]; 你应该得到一些东西,一个堆栈跟踪,一个异
NSMutableArray *arr;
arr = [[[NSMutableArray alloc] init] autorelease];
[[NSUserDefaults standardUserDefaults] setObject:arr forKey:kSelectedCurrencies];
你应该得到一些东西,一个堆栈跟踪,一个异常等等-[\uu NSCFDictionary setObject:forKey:]:mutating method发送到immutable object'这是我运行它时得到的一个设备可能意味着
currencyList
数组中的字典是NSDictionary
类型对象,不是NSMutableDictionary
类型对象。您是否有向currencyList
添加内容的位置和代码?这可能就是您创建阵列的方式,但您如何向该阵列添加对象最初创建阵列时,它似乎在工作,尝试将第一行更改为NSMutableDictionary*dict=…
,可能在将其添加到数组后,它会将其转换为不可变字典
NSMutableArray *arr;
arr = [[[NSMutableArray alloc] init] autorelease];
[[NSUserDefaults standardUserDefaults] setObject:arr forKey:kSelectedCurrencies];
NSDictionary *dict = [[[NSMutableDictionary alloc] init] autorelease];
[dict setValue:countryCode[pos] forKey:kSelectedCurrencyCode];
[dict setValue:countryName[pos] forKey:kSelectedCurrencyCountry];
[dict setValue:[NSNumber numberWithFloat:2.0] forKey:kSelectedCurrencyINR];
[dict setValue:currencyName[pos] forKey:kSelectedCurrencyName];
[temp addObject:dict];
[[NSUserDefaults standardUserDefaults] setObject:temp forKey:kSelectedCurrencies];
[[NSUserDefaults standardUserDefaults] synchronize];