我是新来的iOS,无法使可变数组的iOS
我的字典存储数组中NSUserDefaults
,
我想现在要做的是编辑存储在NSUserDefaults
字典的数组。
这是我写的代码,但它崩溃在这一行
[array[0] setObject:updateMonth forKey:@"Month"];
,并说:
终止应用程序由于未捕获的异常 'NSInternalInconsistencyException',原因是:“ - [__ NSCFDictionary setObject:forKey:]:发送给不可变对象的变异方法
代码片段:
储存:
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"MONTHLY_BUDGET"];
,我的数据是
(
{
Amount = 1;
Month = "July 2017";
isMonthlySet = 1;
}
)
Retriving:
array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"MONTHLY_BUDGET"] mutableCopy];
NSString *updateMonth = @"ABCD";
[array[0] setObject:updateMonth forKey:@"Month"];
请帮帮忙,为什么它不worki NG?
你的阵列是可变的但不是Dictionary,并且您正在修改字典值 –
添加更多的代码以便理解。添加存储和检索代码。 – KKRocks
只需将其替换为:[array setObject:updateMonth forKey:@“Month”]; – KKRocks