Поведение countForFetchRequest - PullRequest
       9

Поведение countForFetchRequest

1 голос
/ 21 октября 2009

Я новичок в coredata и все еще учусь. У меня есть приложение, которое должно получить количество записей, соответствующих заданным критериям.

Предположим, у меня есть 3 типа сущностей, то есть запись, метка и вложение. Вступление связано со многими тегами и вложениями. Тег имеет отношение один к одному с Entry. Привязанность имеет отношение один к одному с Entry.

Для следующих фрагментов кода:

NSFetchRequest *req = [[NSFetchRequest alloc] init];
NSEntityDescription entity = [NSEntityDescription entityForName:@"Entry" inManagedContext:ctx];
[req setEntity:entity];

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(name like 'a*') AND (tags.name like 'test*') OR (attachments.name like 'photo*')"];
[req setPredicate:pred];

NSUInteger count1 = [ctx countForFetchRequest:req error:nil];
NSUInteger count2 = [[ctx executeFetchRequest:req error:nil] count];

Видимо, результат, возвращаемый двумя вызовами выше, отличается. Результат count1 неверный, а count2 правильный. count1 показывает результат больше, чем предполагалось.

Кто-нибудь знает, почему результат отличается для приведенных выше кодов?

Спасибо, Meiwin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...