基本上我有一個我想存儲在NSUserDefaults中的數組。 pageDict是當地的NSDictionary LyteData用來存放東西 層級從lyteData.textbookDictArray ---> lyteData.pagesDictArray ---> pageDict(NSDictionary中)嘗試在NSUserDefaults中存儲nsdictionaries數組時出錯
[pageDict setObject:textbookImage forKey:@"image"];
[pageDict setObject:textbookName forKey:@"name"];
[pageDict setObject:page forKey:@"page"];
[pageDict setObject:nameOfClass forKey:@"class"];
LyteData *lyteData = [LyteData sharedManager];
[lyteData.pagesDictArray addObject:pageDict];
[lyteData.textbookDictArray addObject:lyteData.pagesDictArray];
NSLog(@"array: %@", lyteData.pagesDictArray);
NSLog(@"textbook array: %@", lyteData.textbookDictArray);
//THIS CODE IS FOR SAVING THE ARRAY OF TEXTBOOKS AS USERDEFAULT
[[NSUserDefaults standardUserDefaults]
setObject:lyteData.textbookDictArray forKey:@"textbookArray"];
我得到這個錯誤去一個Singleton類:
Attempt to set a non-property-list object (
{
class = hb;
image = "<UIImage: 0x165c43d0>";
name = fv;
page = 25;
}
) as an NSUserDefaults value for key textbookArray
如何將該數組存儲在NSUserDefaults中?
'NSUserDefaults'只能存儲'premitive'對象(如NSArray,NSDictionary,NSString等),如果你想存儲自定義對象,你需要使用技巧。 [引用我的帖子在這裏存儲自定義類對象](http://stackoverflow.com/questions/16519443/nsmutablearray-not-saved-nsuserdefault/16519672#16519672) –