2012/06/25更新

[XCODE] CoreDataを用いたデータ管理を行う方法。更新・削除編!

このエントリーをはてなブックマークに追加      

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

画像



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






こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。