.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.18 2009

CoreData について (4)

Tasaki です。

過去数回にわたって CoreData フレームワークの入門編をお送りしてきました。
これまでは使用前段階の準備についてご説明しましたが、ここからは実際の利用法について解説していきたいと思います。

まず、利用する場面として以下の状況が挙げられます。
・データの登録
・データの削除
・データの読み込み

今回はこのうちのデータの登録と削除の方法を見ていきます。

データの登録には、以下のメソッドを使用します。
+( id ) insertNewObjectForEntityForName:(NSString *) entityName inManagedObjectContext:(NSManagedObjectContext *) context;
1つ目の引数にはエンティティ名を、2つ目の引数には管理オブジェクトコンテキストを指定します。
また、このメソッドの返り値は管理オブジェクトクラスのインスタンスとなっており、このインスタンスに値を設定することで、データの仮登録を行います。

値の設定が完了したら、データベースにコミットします。
この操作によって、データの登録が完了します。
データベースへのコミットには、以下のメソッドを使用します。
- ( BOOL ) save:(NSError **) error;
引数はエラーオブジェクトのポインタを指定します。また、操作に成功すると YES が、失敗すると NO が返されます。失敗の時の原因となるエラーについては、引数から得ることができます。

最後に、この処理全体のサンプルコードを示します。
ここでは、前回までに作成した MyData エンティティ及び管理オブジェクトクラスを使用しています。
- ( BOOL ) addData {
 MyData *aDataObject = ( MyData *)[ NSEntityDescription insertNewObjectForEntityForName: @"MyData" inManagedObjectContext: managedObjectContext ];
 if( aDataObject == nil ) {
  return NO;
 }
// 属性をセット
 [ aDataObject setFloatValue: 2.0201f ]];
 [ aDataObject setName: @"OS version" ];
// 変更をコミット
NSError *error = nil;
 if([ managedObjectContext save: &error ] == NO ) {
  // エラー対処
  return NO;
 }
return YES;
}


データを削除する場合には、以下のメソッドを使用します。
- ( void ) deleteObject:( NSManagedObject *) object;
引数には削除したい管理オブジェクトを渡します。
登録時と同様、データベースから削除する場合は、メソッド呼び出し後にコミットする必要があります。なお、このメソッドのレシーバは管理オブジェクトコンテキストとなっています。


関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/54-64c421b3

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。