0

我试图理解Objective C中的谓词,但是我一直在弄清楚以下谓词的作用:

$NSPredicate *predicate = [NSPredicate predicateWithFormat:@"holder.valueOfAssets > 70"];

更具体地说,我不明白 dot(.) 运算符的作用。给出一些上下文:“holder”是一个指向一个对象的指针,它有一个名为“valueOfAssets”的方法。

非常感谢您的帮助!

4

1 回答 1

0

假设您有一个 CoreData 类 Person,person 具有 name、age 和 child 等属性,这与 Person 类有关系。接下来,您要发出一个获取请求,获取一些持久的 Person 对象,这些对象的孩子的年龄等于 18

NSPredicate = [NSPredicate predicateWithFormat@"child.age == %@", [NSNumber numberWithInt:18]];
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
[fetchRequest setPredicate:predicate];
NSArray *filteredPeople = [[self managedObjectContext] executeFetchRequest:fetchRequest error:nil];

所以基本上点语法用于对子对象属性执行操作。

于 2012-06-09T08:31:56.927 回答