お使いのブラウザは、バージョンが古すぎます。

このサイトは、Internet Explore8・Internet Explore9には対応しておりません。
恐れ入りますが、お使いのブラウザをバージョンアップしていただきますよう宜しくお願いいたします。

「Core Data」を利用したiPhoneアプリ開発⑥:データの取得方法

CareDataで登録したデータの取得方法について実装します。

データの抽出

今回は検索条件を指定します

属性:「completed」、属性の型:「Integer32」
属性「completed」の値が「1」であるデータの条件が一致した総数を抽出します。

// 検索リクエストのオブジェクトを生成します。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

// 対象エンティティを指定します。
NSEntityDescription *entity
= [NSEntityDescription entityForName:@"エンティティ名 " inManagedObjectContext:__managedObjectContext];
[fetchRequest setEntity:entity];

// キャッシュサイズや上限を指定します。
[fetchRequest setFetchBatchSize:50];
[fetchRequest setFetchLimit:0];

// 検索条件を指定します。
NSPredicate *pred
= [NSPredicate predicateWithFormat:@"completed = 1"];
[fetchRequest setPredicate:pred];
// ソート条件を指定します。
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"completed" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

// 上記リクエストを元に件数を取得します。
NSError *error = nil;
int compPlus = [__managedObjectContext countForFetchRequest:fetchRequest error:&error];
// 上記リクエストを元に指定レコード表示</p>
if (error) {
NSLog(@"error occurred. error = %@", error);
NSLog(@"count:%d",compPlus);  // 条件が一致した総数が出力される

今回は、登録しているデータを検索条件を指定して抽出しましたが、属性の総数を抽出するだけであれば、検索条件やソートの部分は必要ありません。

コメントをどうぞ

メールアドレスは公開されません。* が付いている欄は必須項目です。


お気軽にお問い合わせください。

日本VTR実験室では、お仕事のご依頼、ブログ・コラムのご感想などを受け付けております。
アプリ開発・コンテンツ制作でお困りでしたら、お気軽にご相談ください。
ご連絡お待ちしております。

お問い合わせはこちらから

03-3541-1230

info@nvtrlab.jp

電話受付対応時間:平日AM9:30〜PM6:00