После небольшого расследования я обнаружил, как это исправить. Короче говоря:
// Solution 1 [ NSNumber ]
let bool = NSNumber(booleanLiteral: true)
let predicate = NSPredicate(format: "preferred = %@", bool as CVarArg)
// Solution 2 [ Bool ] (static example)
let predicate = NSPredicate(format: "preferred == YES")
Как также объяснено здесь , просто лучше иметь дело с типом Obj-C, а не с типом Swift, когда нам приходится иметь дело с такого рода методами.