У меня есть такая структура:
Library
----------
id: String
name: String
bookIds: NSArray?
Я хочу получить все библиотеки, в которых есть несколько книг, которые я ищу.Довольно нормальные вещи, я знаю.Это то, что я делаю (и ожидаю работать):
let bookIds: [String] = ...
let fetchRequest: NSFetchRequest<Library> = Library.fetchRequest()
fetchRequest.predicate = NSPredicate(format: "ANY bookIds IN %@", bookIds)
Я также пробовал другие способы, такие как этот:
let predicates = bookIds.map {
NSPredicate(format: "ANY %K LIKE %@", #keyPath(Library.bookIds), $0)
}
let predicate = NSCompoundPredicate(orPredicateWithSubpredicates: predicates)
Вот как я использую этот fetchRequest:
librariesFetchController = NSFetchedResultsController(
fetchRequest: fetchRequest,
managedObjectContext: context,
sectionNameKeyPath: nil,
cacheName: nil
)