Когда мы запрашиваем Fetch, почему мы используем Like вместо ==? - PullRequest
1 голос
/ 10 мая 2011

Как

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",

        attributeName, attributeValue];

Почему бы не

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@",

        attributeName, attributeValue];

1 Ответ

2 голосов
/ 10 мая 2011

Честно говоря, вы просто следуете шаблону, который создали создатели.Они могли бы реализовать это, используя ==, но это имело бы меньше смысла.Как правило, == означает в точности равный, как в равных ссылках.Это совпадение с шаблоном, поэтому вы хотите найти элементы, которые «похожи» на шаблон, не обязательно совпадающие с шаблоном. Поддержка

NSPredicate с использованием оператора ==, но работает по-другомучем оператор like:

NSPredicate *newPredicate = [NSPredicate predicateWithFormat:@"anAttribute == %@", [NSNumber numberWithBool:aBool]];
NSPredicate *testForTrue = [NSPredicate predicateWithFormat:@"anAttribute == YES"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...