Dans une version antérieure de rapide, j'ai eu une fonction de données de baserapide 3 - entité passe comme argument de fonctionner
func retrieveItemsForRelatedEntity(entity: String, relatedEntity: String, identifier: String, sortDescriptors: [NSSortDescriptor]?) -> Array<AnyObject>? {
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext!
let frequest = NSFetchRequest(entityName: entity)
frequest.returnsObjectsAsFaults = false
if sortDescriptors != nil {
frequest.sortDescriptors = sortDescriptors
}
switch relatedEntity {
case "CostCentre":
frequest.predicate = NSPredicate(format: "costCentre.identifier == '\(identifier)'")
return try! context.executeFetchRequest(frequest)
case "CostCentreDay":
frequest.predicate = NSPredicate(format: "costCentreDay.identifier == '\(identifier)'")
return try! context.executeFetchRequest(frequest)
case "Resource":
frequest.predicate = NSPredicate(format: "resource.identifier == '\(identifier)'")
return try! context.executeFetchRequest(frequest)
case "ResourceDay":
frequest.predicate = NSPredicate(format: "resourceDay.identifier == '\(identifier)'")
return try! context.executeFetchRequest(frequest)
case "CostedDay":
frequest.predicate = NSPredicate(format: "costedDay.identifier == '\(identifier)'")
return try! context.executeFetchRequest(frequest)
default:
print("wrong entity for this function")
return nil
}
}
Avec Swift 3.0, le « Type Résultat générique ne peut pas être inférées », donc au lieu de passer Dans le titre de l'entité Chaînes, puis-je passer dans le type d'entité et l'activer pour ma demande de récupération?
j'ai finalement réalisé que je ne l'ai pas besoin de passer la description de l'entité après tout. Malheureusement, le titre de la question peut être trompeur pour les autres. – Shane