コア データを使用して整数 (レート) を保存してから、コンテキストで save を呼び出します。
HeartRateBeat * beat = [HeartRateBeat heartRateWithHeartRate:rate
ofRecordTitle:self.recordTitle
inManagedObjectContext:document.managedObjectContext];
NSError * error;
[document.managedObjectContext save:&error];
その便利なメソッド内で、次のように NSEntityDescription を使用してオブジェクトを作成します。
heartRateBeat = [NSEntityDescription insertNewObjectForEntityForName:@"HeartRateBeat" inManagedObjectContext:context];
(私が何をしたかを示すためだけに、重要なコードをいくつかコピーしただけです。)
すべてのハートビートが挿入され、管理オブジェクトのコンテキストが保存された後 (私はすぐに保存します)、すぐにフェッチ要求を実行します。この要求は、ハートビートがコア データ内に格納されているように見えることを示しています (ハートビートの配列が増加しています)。アプリを再起動します (私はシミュレーターを使用しています) 新しく起動するため、実際にはディスクに保存されていないことがわかっています。SQLite3 コマンド ラインで確認すると、空のテーブルが表示されます。ここで何が欠けていますか?