Core Data + 'Anweisung ist noch aktiv'

8

Ich habe eine wirklich schlimme Zeit mit diesem Kerndatenfehler.

%Vor%

Meine App und mein Code funktionieren einwandfrei, außer gelegentlich, wenn Anfragen sehr schnell angerufen werden. Es passiert, wenn ich versuche, die App zu brechen. Von einem Bildschirm zum nächsten gehen, Daten herunterladen und Abrufanforderungen ausführen.

Ich weiß, dass es etwas mit Threading- und Core-Daten zu tun hat.

Ich rufe diesen Codeabschnitt aus einem Hintergrundthread mit seinem eigenen verwalteten Objektkontext an.

%Vor%

Ich verstehe, dass es wahrscheinlich schwer ist, daraus zu schließen, aber kann mir jemand sagen, wenn ich etwas falsch mache, mit diesen Anfragen, ist das sofort offensichtlich.

    
jrturton 19.12.2012, 08:15
quelle

1 Antwort

6

Wenn Sie in einer Tabelle blättern, die Core-Daten in einem b / g-Thread aufruft, geschieht dies und Core Data erwartet, dass der Kontext in einem Thread enthalten ist.

Ein anderes SO-Poster funktionierte darum, indem ein MOContext pro Thread erstellt wurde, aber ich mag die Idee von CRUD bei mehreren Threads nicht, also habe ich einfach eine dispatch_async (dispatch_get_main_queue (),) -Wrapping-Funktion um meinen Code gelegt. Bis jetzt keine Abstürze, aber es ist selten, deshalb bin ich mir da nicht absolut sicher.

    
Stephen J 21.02.2013 06:17
quelle

Tags und Links