RestKit与MagicalRecord兼容,但是它需要某种黑客才能让它正常工作:
请参阅:RKMagicalRecord / RKMRAppDelegate.m @ L15-L18 //使用类扩展公开对MagicalRecord的私有setter方法@interface NSManagedObjectContext () + (void)MR_setRootSavingContext:(NSManagedObjectContext *上下文的访问;+ (void)MR_setDefaultContext:(NSManagedObjectContext *)moc;@end
因此,他们使用了一种有点麻烦的方法来访问私有的MR_setRootSavingContext方法。
我知道在define中我可以定义扩展,但是我必须实现它们,我如何在define中实现相同的解决方法。
或者更广泛地说,我如何设置魔法记录来使用NSManagedObjectContext创建的RestKit。
发布于 2015-07-21 15:32:21
很简单(可能不好)--创建一个桥接文件
然后加到那里
@interface NSManagedObjectContext ()
+ (void)MR_setRootSavingContext:(NSManagedObjectContext *)context;
+ (void)MR_setDefaultContext:(NSManagedObjectContext *)moc;
@end下面是创建桥接文件http://ios-blog.co.uk/tutorials/how-to-create-an-objective-c-bridging-header/的示例
发布于 2016-11-18 08:50:15
定义一个名为NSMangedObjectContext_MagicalRecordify的头文件所需做的工作
内容:
@interface NSManagedObjectContext ()
+ (void)MR_setRootSavingContext:(NSManagedObjectContext *)context;
+ (void)MR_setDefaultContext:(NSManagedObjectContext *)moc;
@end然后在桥接头文件中导入:
#import "NSMangedObjectContext_MagicalRecordify.h"
然后,您可以访问您的快速文件中的那些私有方法。
https://stackoverflow.com/questions/29990802
复制相似问题