在Obj-C中,我試圖將一個數組保存到NSUserDefaults
中出現錯誤。我想這是因爲這個數組是多維的,但解決這個問題的最好方法是什麼?我應該編碼/解碼整個對象的字符串,還是應該以某種方式調整我的對象?將多維NSArray保存到NSUserDefaults中的最佳做法
以下是警告信息。我已經用「...」替換了一些匹配對象,以便帖子不會長達100英里。
在此先感謝!
*** -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '(
{
items = (
{
awayName = Celtic;
awayScore = 0;
channel = TV3Sport1;
dateEnd = 1377018000;
dateStart = 1377010500;
description = "Playoff til Champions League, 1. kamp.";
hash = 05ec41bd5cb91fe559349391c007994d;
homeName = "Shakhter Karagandy";
homeScore = 0;
leagueTitle = "Champions League (kval)";
matchProgress = "";
matchStart = 1377010800;
stream = "";
},
{
awayName = "Real Sociedad";
awayScore = 0;
channel = TV3Sport1;
dateEnd = 1377031500;
dateStart = 1377023400;
description = "Playoff til Champions League, 1. kamp.";
hash = be7a7e4763038c6991ba9f6cddfce871;
homeName = Lyon;
homeScore = 0;
leagueTitle = "Champions League (kval)";
matchProgress = "";
matchStart = 1377024300;
stream = "";
}
);
unix = 1376949600;
},
{
items = (
{...);
unix = 1377036000;
},
{
items = (...);
unix = 1377122400;
},
{
items = (...);
unix = 1377208800;
},
{
items = (...);
unix = 1377295200;
},
{
items = (...);
unix = 1377381600;
},
{
items = (...);
unix = 1377468000;
},
{
items = (...);
unix = 1377554400;
}
)' of class '__NSCFArray'. Note that dictionaries and arrays in property lists must also contain only property values.
看起來像一個字典(或自定義類)的數組給我。你試圖保存的結構是什麼?是否有涉及的自定義類(不實現編碼/解碼)? –
我最近一直在努力做到這一點,並沒有得到任何地方。唯一的選擇是想出一些名稱展平技巧。不過,它看起來像你應該使用SQLite或核心數據... – trojanfoe
所有這些數據來自一個JSON請求,然後我NSJSONSerialized並保存在其中的valueFromKey。 感謝@Valentin Shamardin的文章,我認爲我可以從JSON響應保存NSData而不是響應的一部分。現在它可以工作。 –