Я новичок в 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