MR_SHORTHAND不起作用

时间:2014-02-24 11:02:49

标签: ios core-data magicalrecord

我使用MagicalRecords但由于某种原因,MR_SHORTHAND对我不起作用。

我已将以下这些行添加到Prefix.pch

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

如果app调用+ createEntity方法,应用程序会因未识别的选择器而终止。但如果我写MR_createEntity一切正常。

Team *team = [Team MR_createEntity]; // This line works

Team *team = [Team createEntity]; // This line does not work

with reason: '+[Team createEntity]: unrecognized selector sent to class 0x74b8c'

3 个答案:

答案 0 :(得分:21)

我知道在此答案之前我们尚未公开宣布,但我们已决定弃用速记支持,并在即将发布的MR3版本中将其删除。

速记支持是一个有趣的想法和功能,但它不是我们想要维护的东西。我们宁愿集中精力让MagicalRecord的数据中心部分尽可能稳固可重用。

那就是说,你当然欢迎自己解决它并向MagicalRecord的旧分支提交一个补丁。有些事情要看:

  • 确保包含速记选择器,如果不存在,则添加新的速记选择器
  • 确保您在此次通话之前使用过MagicalRecord课程。所有速记支持都在类初始化方法中初始化。
  • 如果您使用的是Cocoapods,则可能需要将pod规范引用更新为“MagicalRecord / Shorthand”

答案 1 :(得分:2)

根据官方指南https://github.com/magicalpanda/MagicalRecord/blob/master/Docs/Installing-MagicalRecord.md

你必须致电

  

[MagicalRecord enableShorthandMethods];

答案 2 :(得分:-2)

上述错误意味着核心数据堆栈尚未初始化。 您应该在[MagicalRecord setupCoreDataStackWithStoreNamed:dbName];

之前在应用委托中添加[self.window makeKeyAndVisible];

因为如果你调用了[Team createEntity];在你的根目录VC [self.window makeKeyAndVisible];使视图加载并可见,但仍然app尚未到达设置核心数据堆栈的下一行