Как установить 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];

с вашим текущим контекстом, вместо того, чтобы полагаться на магическую запись для магического определения текущего контекста.

Другие вопросы по тегам