Gibt es einen Unterschied zwischen dem Auslösen einer CoreData (CRUD) -Operation mit einem privaten Kontext unter Verwendung performBlock
und Auslösen einer solchen Operation mit dem Hauptkontext in einer Dispatch_async Hintergrundwarteschlange?CoreData und NSManagedObject Kontext - private vs. main
Ist es einfach so, dass man den Hauptkontext nicht in einem Hintergrundthread verwenden soll?
Link zu Apple Docs ist here.
Ich bekomme das. Aber ich habe die beiden Optionen getestet und beide scheinen zu funktionieren. Also meine Frage ist, ob das nur Glück ist, dass der verbotene Ansatz funktioniert ... – goggelj
Es ist ein Threading-Verstoß, was bedeutet, dass es * meistens * der Zeit funktioniert und dann in der Produktion mit einem hohen Risiko der Datenbeschädigung versagt. Aus diesem Grund existiert die Debug-Einstellung. weil Threading-Bugs sich nicht konsistent darstellen. –