2011-07-19 18 views
2

私はある属性を持つエンティティを持っています。私は自分のタブが既に(SQLiteのテーブル)を埋めることがある 1つの属性(私はAttribute1を呼び出すでしょう)私は、私のアプリの使用中に変更bool値を持っています。特定の値を持つコアデータのカウントエンティティ

属性1の値を持つエンティティの数を返すにはどうすればよいですか?

私はすでに「コアデータチュートリアル」と「述語プログラミングガイド」を読みましたが、私はその後、私はこれを試してみた進め方..

NSPredicate *predicate= [NSPredicate predicateWithFormat:@"Attribute1 == %@",[NSNumber numberWithBool:YES]]; 

理解し、そしてませんか?

答えて

3

ベストの賭けはcountForFetchRequestメソッドを使用することです。あなたの述語を設定し、フェッチ要求が、その代わりに、実際に行うのは次のようcountForFetchRequestを実行し、フェッチ:

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 

NSPredicate *predicate = 
    [NSPredicate predicateWithFormat:@"Attribute1 == %@", 
     [NSNumber numberWithBool:YES]]; 

[request setPredicate:predicate]; 

NSUInteger count = [myManagedObjectContext countForFetchRequest:request error:nil]; 

あなたはアップルのAPIのドキュメントでより多くの情報を見つけることができます。

countForFetchRequest:error: Returns the number of objects a given fetch request would have returned if it had been passed to executeFetchRequest:error:.

  • (NSUInteger )countForFetchRequest:(NSFetchRequest )要求エラー:(NSError *)エラー パラメータ 要求 フェッチの検索基準を指定するフェッチ要求。 エラー フェッチの実行中に問題が発生した場合、戻り時に問題を説明するNSErrorのインスタンスが含まれています。 戻り値 与えられたフェッチ要求がexecuteFetchRequest:error:に渡された場合に返されるオブジェクトの数、またはエラーが発生した場合はNSNotFound。

iOS 3.0以降で使用できます。 で宣言された NSManagedObjectContext.h

関連する問題