我使用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'
答案 0 :(得分:21)
我知道在此答案之前我们尚未公开宣布,但我们已决定弃用速记支持,并在即将发布的MR3版本中将其删除。
速记支持是一个有趣的想法和功能,但它不是我们想要维护的东西。我们宁愿集中精力让MagicalRecord的数据中心部分尽可能稳固可重用。
那就是说,你当然欢迎自己解决它并向MagicalRecord的旧分支提交一个补丁。有些事情要看:
答案 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尚未到达设置核心数据堆栈的下一行