0
私のコアデータが変更を保存しない理由を知りました。実際、上記のコードは数時間前に働いていました。エラーを印刷しようとすると、(null)
が印刷されます。以下のコードは、NSManagedObjectSubclass
のためのカスタムメソッドです:MagicalRecordが保存されない
-(void)bindWithModel:(MenuAPIModel*)model{
self.basketId = [model.basketId integerValue];
self.coreId = [model.itemId integerValue];
self.name = [model name];
self.orderId = [model.orderId integerValue];
self.payedFrom = [model payedFrom];
self.persons = [model persons];
self.price = [model.price integerValue];
self.price3 = [model.price3 integerValue];
self.price12 = [model.price12 integerValue];
self.status = [model status];
[[NSManagedObjectContext MR_defaultContext] MR_saveOnlySelfWithCompletion:^(BOOL contextDidSave, NSError * _Nullable error) {
NSLog(@"error %@", error.localizedDescription);
}];
エラーがnullで、contextDidSave
はYESです。しかし、エンティティにアクセスしようとすると、nullが出力され、SQLテーブルは空になります。どうして?
ありがとうございましたが、実際に保存してデータが存在しました。問題は - データがどこに格納されているのかわかりません。サンドボックス内のデータベースファイルが空です –
サンドボックス内のデータベースファイルが空の場合、データが保存されなかったことを意味します。そのデータが保存されたことをどのように確認しますか?おそらく、このデータが存在することを確認するために、他の場所で 'MR_defaultContext'(または何らかの新しいコンテキスト)を使ってこれらのデータを取得しようとします。 – Mateusz
私はコンソールにデータを記録することでそれを検証することができます。正しいのは –