[XCODE] CoreDataを用いたデータ管理を行う方法。更新・削除編!
今日は、CoreDataを用いたデータ管理のうち、データの更新と削除の方法をブログに書きたいと思います(*゚▽゚)ノ

今回の更新を行う為には、準備編で作成するNSManagedObjectContextが必要ですので、 そちらも参照頂けると幸いです(((o(*゚▽゚*)o)))
- CoreDataを用いてデータ管理を行う方法。準備編。
- CoreDataを用いてデータ管理を行う方法。登録編!!
- CoreDataを用いてデータ管理を行う方法。更新・削除編!!!
- CoreDataを用いてデータ管理を行う方法。検索編!!!!
取得したNSManagedObjectに、変更したい値を設定し、その後、保存を行う事でデータの更新内容を 永続化することが出来ます。
以下がサンプルコードとなります。
削除したいNSManagedObjectを取得して、削除メソッドを呼び出し、saveメソッドで更新を確定させます。
以下はサンプルコードとなります。
iOS Core Data チュートリアル
Core Data プログラミングガイド
今回も最後までお読み頂きましてありがとうございました。

CoreDataを用いたデータ管理
この記事も含めて、以下のような分類でCoreDataの使い方をブログに書いています。今回の更新を行う為には、準備編で作成するNSManagedObjectContextが必要ですので、 そちらも参照頂けると幸いです(((o(*゚▽゚*)o)))
- CoreDataを用いてデータ管理を行う方法。準備編。
- CoreDataを用いてデータ管理を行う方法。登録編!!
- CoreDataを用いてデータ管理を行う方法。更新・削除編!!!
- CoreDataを用いてデータ管理を行う方法。検索編!!!!
データの更新を行う方法
まずは、データを保持するNSManagedObjectを取得します。 登録時に作成したり、参照時に取得したりすることが出来ます。取得したNSManagedObjectに、変更したい値を設定し、その後、保存を行う事でデータの更新内容を 永続化することが出来ます。
以下がサンプルコードとなります。
// まずは、NSManagedObjectを取得します。
// 以下の例では、DB検索結果から取得しています。
NSManagedObject *updObject = [fetchedResultsController.fetchedObjects objectAtIndex:indexPath.row];
// 変更したい値を設定します。
[updObject setValue:@"更新後のkey値" forKey:@"key"];
[updObject setValue:@"更新後のvalue値" forKey:@"value"];
// saveメソッドでデータをDBに保存します。
// エラー発生時には、引数に参照渡しで渡しているErrorオブジェクトの中身を表示します。
NSError *error = nil;
if (![managedObjectContext save:&error]) {
NSLog(@"error = %@", error);
} else {
NSLog(@"Insert Completed.");
}
データを削除する方法
削除も簡単に行うことが出来ます(*゚▽゚)ノ削除したいNSManagedObjectを取得して、削除メソッドを呼び出し、saveメソッドで更新を確定させます。
以下はサンプルコードとなります。
// まずは、NSManagedObjectを取得します。
// 以下の例では、DB検索結果から取得しています。
NSManagedObject *object = [fetchedResultsController.fetchedObjects objectAtIndex:indexPath.row];
// 削除メソッドを呼び出します。
[managedObjectContext deleteObject:object];
// saveメソッドで更新状態を確定させます。
// エラー発生時には、引数に参照渡しで渡しているErrorオブジェクトの中身を表示します。
NSError *error = nil;
if (![managedObjectContext save:&error]) {
NSLog(@"error = %@", error);
} else {
NSLog(@"Insert Completed.");
}
参考資料
以下を参考資料にブログを記載しました。ありがとうございました☆iOS Core Data チュートリアル
Core Data プログラミングガイド
最後に
CoreDataを使えるようになると楽しいです(⌒▽⌒) RSSリーダーやTwitterクライアントなど、 ネットワーク処理を挟むアプリでは、一定量のデータはアプリ内で保存して、パフォーマンス向上を図る必要があります。 そんな時にCoreDataが大活躍してくれてありがたい限りです。今回も最後までお読み頂きましてありがとうございました。






