Fetchを使用してsqliteデータベースから行をクエリし、結果をNSMutableArraymyDataArrayにロードしています。私がやりたいのは、myDataArrayの値をアプリケーションの設定plistファイルに保存することです。しかし、以下のコードを実行すると、次のエラーが発生します。
[NSUserDefaults setObject:forKey:]:クラス'__NSArrayM'の非プロパティ値'(...(注:50行の値を含む))'を挿入しようとしました。
同じ方法を使用して他のNSMutableArrayをplistファイルに保存していますが、クエリされたデータベースの結果を保存する方法がわかりません。
あなたは尋ねるかもしれません:なぜ値を保存するのですか、値が再び必要になったときにデータベースを再クエリするだけですか?その理由は、データベースからランダムな行を取得しているため、最初にランダム化されたとおりに行を呼び出す必要があるためです。
助けていただければ幸いです、lq
...
fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
self.myDataArray = [NSMutableArray arrayWithArray:fetchResults];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.myDataArray forKey:kFetchResultsArray];