/ / Извличане на обекти с връзка от масив в основни данни - ios, objective-c, xcode, core-data, swift

Извличане на субекти с връзка от масив в основни данни - ios, objective-c, xcode, core-data, swift

Имам 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)