Wie Multithreading mit Blöcken und NSOperation und NSOperationQueue verwenden, so dass es keine Probleme mit Nebenläufigkeit gibt?Was ist der ideale Weg, Multi-Threading mit Core Data zu verwenden?
Antwort
Der richtige Weg zur Verwendung von Core Data ist entweder mit einem MainQueue-Kontext oder einem PrivateQueue-Kontext. Wenn Sie Core-Daten in einer NSOperation verwenden, müssen Sie entweder über performBlock:
oder performBlockAndWait:
auf den MainQueue-Kontext zugreifen. Wenn Sie einen PrivateQueue-Kontext verwenden möchten, müssen Sie immer noch über performBlock:
oder performBlockAndWait:
darauf zugreifen. Der Hauptunterschied zwischen den beiden besteht darin, dass jede Arbeit, die mit dem MainQueue-Kontext ausgeführt wird, die Benutzeroberfläche blockiert.
Idealerweise in einem NSOperation, wenn Sie Daten verarbeiten, dann sollten Sie einen PrivateQueue Zusammenhang konstruieren, die ein Kind des MainQueue Kontext ist, greifen Sie über performBlock:
oder performBlockAndWait:
und speichern, wenn Sie die Daten fertig sind, verarbeitet werden.
Ich empfehle dringend, die Core Data Programming Guide und den Abschnitt über Parallelität zu überprüfen.
- 1. Core Data und Multithreading
- 2. Was ist die effizienteste Art, Core Data zu verwenden?
- 3. Was ist der richtige Weg, um ein Zeitintervall in Core Data zu speichern?
- 4. Was ist der richtige Weg, um eine NSURL in Core Data zu speichern?
- 5. Was ist der ideale Weg, Pods in das Artefakt zu implementieren?
- 6. Verwenden von 'Core Data' mit Phonegap?
- 7. Was ist der beste Weg, um die Zeilenanzahl von Core Data abzufragen?
- 8. Was ist der ideale Weg, um Sammlungsverweis in Mongodb zu machen?
- 9. Was ist der einfachste Weg, Multithreading in C# zu bestehenden Code zu implementieren
- 10. Core Data mit JSON
- 11. Was ist der richtige Weg, um scala.io.Source zu verwenden?
- 12. Was ist der richtige Weg, diesen Code zu verwenden?
- 13. Was ist der richtige Weg NLTK Stoppwörter zu verwenden?
- 14. Entity Framework Core und Multithreading
- 15. Win32com mit Multithreading verwenden
- 16. Core Data mit speicherinternem Speicher
- 17. Core Data „Gruppe“ mit Objektbeziehung
- 18. Was ist der einfache Weg, um Cube-Daten mit denen von Data Mart zu vergleichen?
- 19. Was ist der beste Weg zu
- 20. Was ist die effizienteste Methode zum Synchronisieren von Core Data mit der JSON-API?
- 21. Beschleunigen Core Data holen
- 22. Probleme mit Core Data Daten
- 23. Was ist der beste Weg, Plugins mit RSpec zu kompilieren?
- 24. Verwenden von Mantle mit Core Data - NSSet und NSArray
- 25. Was ist der beste Weg, um mit OSGI zu beginnen?
- 26. UIManagedDocument und Core Data
- 27. Sicherung .sqlite (Core Data)
- 28. UITableView Core Data Nachbestellung
- 29. Core Data Relationship Fault
- 30. Core Data Abrufanforderung Optimierung