Actuellement, j'ai un NSFetchRequest simple avec un NSPredicate associé. Cependant, j'espère qu'il existe un moyen d'ajouter plusieurs prédicats. J'ai vu des exemples dans Objective C, mais aucun pour Swift.
Pouvez-vous définir une liste de NSPredicate ou ajouter plusieurs objets NSPredicate à une seule NSFetchRequest d'une manière ou d'une autre?
Merci!
Vous pouvez utiliser "NSCompoundPredicate". Par exemple:
let converstationKeyPredicate = NSPredicate(format: "conversationKey = %@", conversationKey)
let messageKeyPredicate = NSPredicate(format: "messageKey = %@", messageKey)
let andPredicate = NSCompoundPredicate(type: NSCompoundPredicateType.AndPredicateType, subpredicates: [converstationKeyPredicate, messageKeyPredicate])
request.predicate = andPredicate
Vous pouvez changer en "AndPredicateType" ou "OrPredicateType"
Mise à jour pour Swift 4
let predicateIsNumber = NSPredicate(format: "isStringOrNumber == %@", NSNumber(value: false))
let predicateIsEnabled = NSPredicate(format: "isEnabled == %@", NSNumber(value: true))
let andPredicate = NSCompoundPredicate(type: .and, subpredicates: [predicateIsNumber, predicateIsEnabled])
//check here for the sender of the message
let fetchRequestSender = NSFetchRequest<NSFetchRequestResult>(entityName: "Keyword")
fetchRequestSender.predicate = andPredicate
Le changement dans la dernière version Swift Version est:
NSCompoundPredicateType.AndPredicateType replaced by `NSCompoundPredicate.LogicalType.and `
J'espère que cela aide!!!
Merci