エンティティにクエリを実行し、条件に一致するプロパティを返すフェッチリクエストを作成する方法を教えてもらえますか?
これが私が持っているものです。35のプロパティを持つエンティティがあり、すべてフロートのタイプです。私が必要としたのは、値がゼロ以下であるエンティティのすべてのプロパティを確認することでした。
プロパティの値を返す方法は知っていますが、プロパティの名前を返す方法はわかりません。
ありがとう、
エンティティにクエリを実行し、条件に一致するプロパティを返すフェッチリクエストを作成する方法を教えてもらえますか?
これが私が持っているものです。35のプロパティを持つエンティティがあり、すべてフロートのタイプです。私が必要としたのは、値がゼロ以下であるエンティティのすべてのプロパティを確認することでした。
プロパティの値を返す方法は知っていますが、プロパティの名前を返す方法はわかりません。
ありがとう、
CoreDataはプロパティを返しません。エンティティを返し、エンティティにはプロパティがあります。いずれにせよ、あなたはこのようなことをしなければならないでしょう:
(以下はメモリから実行される擬似コードです。それに応じて処理してください。)
NSString *query = @"(property1 <= 0) && (property2 <= 0)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:query];
NSEntityDescription *entity = [NSEntityDescription entityDescriptionForName:@"Entity" inManagedObjectContext:context];
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
[fetch setEntity:entity];
[fetch setPredicate:predicate];
NSError *error = nil;
NSArray *entities = [context executeFetchRequest:fetch error:&error];
// Let's just assume we got one
NSManagedObject *obj = [entities objectAtIndex:0];
float value = [obj valueForKey:@"property1"];
またはそのようなもの。