私はcoreDataで始まりますが、疑問があります。CoreData - 保存時に疑問がある
私はサーバーからデータを読み込み、データを解析し、オブジェクトのNSDictionaryとして取得するアプリケーションを持っています。 coreDataにデータを保存するには
、私は次のようにします。
for (NSDictionary *activityData in arrayWithResult){
[CompanyActivity createActivityWithInfoFromServer:activityData inManagedObjectContext:self.managedObjectContext];
}
if (![self.managedObjectContext save:&error])
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
これは、約300レコードを読み込みます。 'createActivityWithInfoFromServer:'メソッドは、その名前のレコードがあるかどうかをチェックします。そうであれば、データを更新し、そうでなければデータを更新する。
"for"サイクルが実行されている間に、私がユーザーインターフェイスとやりとりすると、コアデータの保存が停止することがあります。どうして?
サイクル内でSAVEを実行すると、問題は解決します。
どうすればよいですか?
おかげで、すべて、
RL
「保存が中止されました」とはどういう意味ですか?間違いはありますか?オブジェクトは作成されますが保存されませんか? – TechZen
エラーはありません。私はNSLogを持っており、ロギングを停止し、オブジェクトは作成されません。時々、それは168、他の時間、230、他の時、それらのすべてを作成します... –
'arrayWithResult'はx個のエントリを持ちますが、y個の管理対象オブジェクトだけが保存されるということですか?いくつかの辞書がすでにCore Dataに重複している場合、いくつのオブジェクトを作成して保存すべきかをどのように知っていますか? – TechZen