Имам Entity, наречена "Изображение", което има многобройни взаимоотношения с лице, наречено Етикет.
Да кажем, че имам масив от етикетирани етикети [tag1, tag2, tag3] Как мога да изкарам всички изображения, чиито маркери съдържат всички от масива?
Отговори:
1 за отговор № 1Има различни случаи:
-1. всички изображения, в които всеки от тях е в списъка
NSPredicate(format:"ANY tags in %@", list)
-2. всички изображения, в които всички тагове са в списъка
NSPredicate(format:"SUBQUERY(tags, $tag, $tag IN %@).@count = %d",
list, countElements(list))
-3. всички изображения, където етикетите съдържат поне всички в списъка (но може би има още)
Има две възможности за този последен проблем. Единият включва подчинените, но можете да го направите и със сложни предикати.
var subPredicates = [NSPredicate]()
for tag in tagList {
subPredicates.append(NSPredicate(format:"ANY tags = %@", tag))
}
NSCompoundPredicate.andPredicateWithSubpredicates(subPredicates)