Как установить NSManagedObjectContext для MR_findFirst?
Я использую MagicalRecord для своего хранилища CoreData. У меня есть оператор, который генерирует несколько сбоев разными пользователями при выполнении этого оператора:
PreferenceData *prefDataFound = [PreferenceData MR_findFirst];
Ошибка:
+ entityForName: nil не является допустимым параметром NSManagedObjectContext, ищущим имя объекта "PreferenceData"
Исходя из этой последовательности вызовов (из Crashlytics):
1 libobjc.A.dylib objc_exception_throw + 30
2 CoreData +[NSEntityDescription entityForName:inManagedObjectContext:] + 104
3 SalonBook NSManagedObject+MagicalRecord.m line 91
+[NSManagedObject(MagicalRecord) MR_entityDescriptionInContext:]
4 SalonBook NSManagedObject+MagicalRequests.m line 19
+[NSManagedObject(MagicalRequests) MR_createFetchRequestInContext:]
5 SalonBook NSManagedObject+MagicalFinders.m line 79
+[NSManagedObject(MagicalFinders) MR_findFirstInContext:]
6 SalonBook NSManagedObject+MagicalFinders.m line 86
+[NSManagedObject(MagicalFinders) MR_findFirst]
7 SalonBook SubViewGrid.m line 37
-[SubViewGrid drawRect:]
Все это указывает на то, что для вызова MR_findFirst нет действительного контекста; Или чем использовать *MR_findFirstWithPredicate:* (для которого у меня нет предиката, я просто хочу первую и единственную запись), что я могу сделать, чтобы это исправить?
1 ответ
Решение
Ты можешь позвонить
PreferenceData *prefDataFound = [PreferenceData MR_findFirstInContext:context];
с вашим текущим контекстом, вместо того, чтобы полагаться на магическую запись для магического определения текущего контекста.