MagicalRecord - 速记适用于某些实体但不适用于其他实体

时间:2013-03-08 01:13:28

标签: ios core-data nsmanagedobject magicalrecord

在我的前缀文件中,我有这个:

#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"


//this causes an unrecognized selector sent to instance crash
Apple *apple = [Face findFirstByAttribute:@"appleId" withValue:value];

//this works fine
Apple *apple = [Face MR_findFirstByAttribute:@"appleId" withValue:value];

//however this also works fine:
Orange *orange = [Face findFirstByAttribute:@"orangeId" withValue:value];

为什么我可以使用某些实体的速记而不是其他实体?

2 个答案:

答案 0 :(得分:0)

好的,我不知道这对你有什么帮助,但我刚刚解决了我遇到的问题。

我有一个名为“EventMessage”的实体,我不喜欢这个名字所以我将其重命名为“Message”。

这是我开始遇到问题的时候。

它只是从AppCode运行应用程序到模拟器,我看到一条消息告诉我“消息已实现两次”。

我将实体(和所有关联的类)重命名为“EventMessage”,现在工作正常。

奇怪,它甚至在之前编译过了?!

无论如何,试一试。将您的Face实体重命名为您知道的独特“SoleilFace”,并查看是否可以修复它。

答案 1 :(得分:0)

万一有人在2014年及版本2.2+中遇到此搜索结果,您需要安装的Cocapod才能使用速记

pod 'MagicalRecord/Shorthand', '~> 2.2';

按照以下主题

https://github.com/magicalpanda/MagicalRecord/issues/668