Comment puis-je faire une demande de récupération à l'aide de NSManagedObject nouveau fetchRequest fonction?

Dans iOS 10 le CoreData équipe a ajouté un nouveau "fetchRequest" méthode de NSManagedObject. Il ressemble à ceci:

public class func fetchRequest() -> NSFetchRequest<NSFetchRequestResult>

Qui, d'après ce que je comprends, nous permet de remplacer ceci:

let request = NSFetchRequest<MyEntity>(entityName: "MyEntity")

avec ceci:

let request = MyEntity.fetchRequest()

Cependant, lorsque je tente de faire une simple requête comme ceci:

let request = MyEntity.fetchRequest()
do {
    results = try request.execute()
} catch let error {
    print("failed to fetch coffee object: \(error)")
}

Je reçois l'erreur suivante:

Erreur de Domaine=NSCocoaErrorDomain Code=134060 "(null)"
UserInfo={message=Ne peut pas récupérer sans NSManagedObjectContext dans
champ d'application}

Il apparaît donc clairement que l'erreur est en indiquant que je dois apporter un NSManagedObjectContext dans l'étendue. J'ai été à la recherche pour des exemples, mais peut sembler à trouver un exemple complet de la façon d'effectuer une demande à l'aide des nouvelles fonctionnalités de l'API.

Question

À l'aide de la dernière Base de Données fonctionnalités de l'API, comment dois-je faire une simple demande de récupération? La question sous-jacente est de savoir comment dois-je apporter mon NSmanagedObjectCotnext dans l'étendue.

Je dois souligner que je suis capable de réussir à faire une demande à l'aide de la syntaxe traditionnelle.

InformationsquelleAutor Dan Beaulieu | 2016-07-15