Core Data: 'Die linke Seite für einen ALL- oder ANY-Operator muss entweder ein NSArray oder ein NSSet sein.'

9

Ich habe eine Methode, die Kerndaten abfragt, wenn ein Objekt für heute bereits existiert.

Mein Code:

%Vor%

Das Datenmodell:

bmi.patient ist eine To-One-Beziehung mit Patient.

Ich verstehe nicht, was falsch ist, es gibt nicht einmal eine ALL- oder ANY-Klausel in meinem Prädikat.

Kann mich jemand aufklären?

    
mrd 27.02.2014, 23:49
quelle

2 Antworten

0

Dieser Fehler weist darauf hin, dass zwei Threads versuchen, auf die Datenbank zuzugreifen. Vergessen wir nicht, dass CoreData nicht Thread-sicher ist.

Überprüfen Sie Ihre Threads und den Zugriff auf die Datenbank, da in den Threads Wettbewerb herrscht, um auf die Datenbank zuzugreifen.

Hoffe, das hilft bei deinem Problem. Wenn Sie von verschiedenen Threads auf die Datenbank zugreifen, versuchen Sie, Completion-Handler oder KVO-Benachrichtigungen zu verwenden, um den Thread-Zugriff auf die Datenbank zu verwalten.

    
artud2000 21.03.2014 18:56
quelle
0

Wenn das Problem auf Core-Daten von verschiedenen Threads zugreift, können Sie sicherstellen, dass Sie den richtigen Thread mit einer der folgenden Methoden von UIManagedObjectContext verwenden:

%Vor%     
Mark Stone 12.03.2015 18:56
quelle

Tags und Links