0

我将 MagicalRecord 用于我的 CoreData 存储。我有一条语句在执行此语句时由不同的用户产生多次崩溃:

PreferenceData *prefDataFound = [PreferenceData MR_findFirst];

错误是:

+entityForName: nil 不是搜索实体名称“PreferenceData”的合法 NSManagedObjectContext 参数

来自这一系列调用(来自 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:* (我没有谓词,我只想要第一个也是唯一的记录)之外,我能做些什么来解决这个问题?

4

1 回答 1

2

你可以打电话

PreferenceData *prefDataFound = [PreferenceData MR_findFirstInContext:context];

使用您当前的上下文,而不是依靠 Magical Record 神奇地确定当前上下文。

于 2014-01-31T17:43:25.677 回答