【问题标题】:MagicalRecord - shorthand works for some entities but not othersMagicalRecord - 速记适用于某些实体,但不适用于其他实体
【发布时间】:2013-03-08 01:13:27
【问题描述】:

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

#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];

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

【问题讨论】:

  • 我遇到了完全相同的问题。不过才刚刚开始。很奇怪,你得到答案了吗?

标签: ios core-data nsmanagedobject magicalrecord


【解决方案1】:

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

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

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

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

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

奇怪的是它以前编译过吗?!

不管怎样,试一试。例如,将您的 Face 实体重命名为您知道是唯一的“SoleilFace”,看看是否可以修复它。

【讨论】:

  • 我刚遇到同样的问题 - 你找到答案了吗?
  • 是的,将实体重命名为绝对唯一且非保留的名称。您的实体名称是什么?
【解决方案2】:

以防万一有人在 2014 年和 2.2+ 版本偶然发现此搜索结果,您需要安装以使用速记的 Cocopod 是

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

根据下面的帖子

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2012-07-28
    • 2011-12-12
    相关资源
    最近更新 更多