我使用Fetch查詢sqlite數據庫中的行,並將結果加載到NSMutableArray myDataArray中。我想要做的是將myDataArray中的值存儲到我的應用程序的首選項plist文件中。但是,當我運行下面的代碼,我得到以下錯誤:如何在應用程序的plist文件中存儲提取結果?
[NSUserDefaults的方法setObject:forKey:]:嘗試插入非財產價值「( ...(注:包含50個行值) )」類'__NSArrayM'。
我使用相同的方法在我的plist文件中存儲其他NSMutableArrays,但無法找出存儲查詢的數據庫結果的方法。
您可能會問:爲什麼要存儲這些值,只是在需要再次查詢數據庫時重新查詢數據庫?原因是我從數據庫中隨機抽取了行,我需要回憶這些行與它們最初的隨機數。
任何幫助表示讚賞, LQ
...
fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
self.myDataArray = [NSMutableArray arrayWithArray:fetchResults];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.myDataArray forKey:kFetchResultsArray];
感謝您的快速響應。使用存檔對我來說似乎不是一個好的解決方案,所以我正在考慮的是重新設計應用程序,以便將所有50行數據拖入myDataArray,而不是將PK_ID拉入數組,將它們存儲在plist中,然後使用Predicate每次取一行來調用每個PK_ID。 – 2010-10-04 21:06:07