Предположим, у меня есть сущности Персона и Домашнее животное, а также отношения один ко многим, поэтому у Персона есть список домашних животных.В настоящее время я могу фильтровать по возрасту питомца, используя этот предикат (как для Swift, так и для Objective-C для вашего удобства)
NSPredicate(format: "pets.age > 3")
[NSPedicate predicateWithFormat:@"pets.age > 3"]
, но это довольно неудобно и не очень надежно - поскольку сущность Pet может запрашиваться измногие другие сущности (например, доктор, другие родные братья и сестры, возможно, игрушки для домашних животных и т. д. - только для вашего воображения).
Что бы я хотел сделать:
NSPredicate(format: "pets MATCH %@", NSPredicate(format: "age > 3"))
[NSPedicate predicateWithFormat:@"pets MATCH %@", [NSPedicate predicateWithFormat:@"age > 3"]]
, чтобы я мог погладить животноесущность, чтобы дать мне правильный предикат для возраста, а затем использовать его в любых других предикатах.Как я могу заархивировать это?Я хотел бы использовать его на CoreData на устройстве iOS, поэтому довольно важно, какой SQL-запрос CoreData получит из него, потому что производительность имеет значение.