Предикат основных данных какао для iPhone «один-ко-многим» fetchrequest
-
20-09-2019 - |
Вопрос
У меня есть набор данных, где один из атрибутов (прошивка) представляет собой отношение «один ко многим».
Если я хочу получить какие-либо записи с идентификатором прошивки 1, я могу создать предикат, используя
@"(ANY Firmware.FID==1)"
Затем у меня есть еще один набор условий, который еще больше улучшит этот набор, используя
(TopLevel==YES) AND (Parent>0)
Как их объединить или настроить так, чтобы сначала фильтровала прошивку потом фильтровала второе условие?В конечном итоге мне нужны все записи, в которых Firmware.FID=1, TopLevel==YES и Parent>0.
Спасибо, Хауи
Решение
Вы должны иметь возможность использовать этот предикат:
[NSPredicate predicateWithFormat:@"TopLevel == %@ AND Parent > %@ AND ANY Firmware.FID == %@",[NSNumber numberWithBool:YES],[NSNumber numberWithInteger:0],[NSNumber numberWithInteger:1]];
Условие «ЛЮБАЯ Прошивка.FID» я перенес в последнюю очередь, так как оно самое сложное и его можно избежать, если одно из других условий уже не выполнено.
Не связан с StackOverflow