我是新來的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