MR_SHORTHAND does not work

  开发过程中我一直没用到coredata,之前一直用的sqlite或者基于此的第三方开源框架。最近用到coredata了解了一下,直接使用现在比较流行的MagicalRecord,毕竟封装好的还是简单的。^_^,(感谢对这些第三方框架做过贡献的大家)

  对于使用过程不赘述,只说遇到的问题,本人为了使用MagicalRecord中得方法时避免写MR_前缀且避免很多文件添加import "CoreData+MagicalRecord.h“,自己创建了PCH文件,对于XCode6系列添加PCH文件方法不赘述 点击打开链接

PCH文件如下:

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"
#endif
添加相关的插入,获取数据代码,当然使用时都是省略MR_前缀的,command + R 运行产生以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[Note CreateEntity:]: unrecognized selector sent to class 0x73813c'

原因:我添加第三方库时使用了cocoaPods,导致MR_SHORTHAND不起作用。

解决方法: Pods-MagicalRecord-prefix.pch文件中添加 MR_SHORTHAND

修改结果如下:

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif 
#import "Pods-environment.h"
#ifdef __OBJC__
#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"
#endif

运行成功。

^_^我犯错误了,当我再次为了添加其他第三方框架时pod install的时候,Pods-MagicalRecord-prefix.pch被更新,

<span style="font-size:14px;"><span style="font-size:12px;">#define MR_SHORTHAND
</span></span>

被去除,还需要再次添加才行。
终极解决方案:use MagicalRecord/Shorthand in your Podfile 修改你的podfile
pod ‘MagicalRecord/Shorthand’, '~>2.2'
再次pod install ,再次运行,成功。

注:对于其中出现的十几个警告,暂时没办法,敬请大家期待2.3的发布


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值