[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が大活躍してくれてありがたい限りです。今回も最後までお読み頂きましてありがとうございました。