1

J'ai lu ce article pour enregistrer les objets dans la base de données de base de données en arrière-plan.NSMangedObjectContext effectuerBloc dans le problème d'arrière-plan

À la fin de l'article, ils ont ce code pour enregistrer des données en arrière-plan:

[temporaryContext performBlock:^{ 
    // do something that takes some time asynchronously using the temp context 

Je comprends que si nous utilisons performBlock l'opération se fera de manière asynchrone, mais dans quelle file d'attente? Ai-je besoin de le mettre en fil de fond comme celui-ci:

dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), {() -> Void in 
      temporaryContext.performBlock({() -> Void in 

      }) 
     }) 

ou il suffit d'utiliser:

temporaryContext.performBlock({() -> Void in 

       }) 

Répondre

1

Il suffit d'utiliser:

temporaryContext.performBlock({() -> Void in 

}) 

Votre code sera invoquaient dans une file d'attente associée à un contexte temporaire. Le temporaryContext est un NSManagedObjectContext qui a sa propre file d'attente privée (NSPrivateQueueConcurrencyType)