喜欢
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",
attributeName, attributeValue];
为什么不
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@",
attributeName, attributeValue];
答案 0 :(得分:2)
老实说,你只是遵循创作者制作的模式。他们可以使用==
实现它,但它没那么明显。通常,==
意味着完全等于,在引用中是相等的。这是一种模式匹配,因此您希望找到“喜欢”模式的项目,不一定等于模式。
NSPredicate
使用==
运算符的支持,但其运行方式与like
运算符不同:
NSPredicate *newPredicate = [NSPredicate predicateWithFormat:@"anAttribute == %@", [NSNumber numberWithBool:aBool]];
NSPredicate *testForTrue = [NSPredicate predicateWithFormat:@"anAttribute == YES"];