首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSValueTransformer + MagicalRecord +生成器

NSValueTransformer + MagicalRecord +生成器
EN

Stack Overflow用户
提问于 2015-07-29 17:09:11
回答 1查看 80关注 0票数 0

我不能让我的NSValueTransformer实现在我的ManagedObjectContext上调用save:(NSErrro **)。

我已经尝试通过编写我自己的ManagedObject-Class来解决这个问题,而不是依赖Mogenerator,但没有任何成功。

以下是我的实体配置的截图:

这是我的NSValueTransformer-Subclass (不会命中任何断点):

下面是我创建模型和保存上下文的方法。我还尝试过使用MR_create和MR_saveToPersistentStoreCoordinator Methodes方法进行装箱和保存,但都没有成功。

为什么在将实体保存到持久存储协调器时,核心数据不执行我的NSValueTransformer代码?

EN

回答 1

Stack Overflow用户

发布于 2015-07-29 18:54:02

事实证明,将NSManagedObjectContext直接连接到NSPersistentStoreCoordinator是非常重要的。使用[NSMangedObjectContext MR_default]和下面的表达式似乎是有区别的:

代码语言:javascript
复制
NSPersistentStoreCoordinator *coordinator = [NSPersistentStoreCoordinator MR_defaultStoreCoordinator];
NSManagedObjectContext *context = [NSManagedObjectContext MR_contextWithStoreCoordinator:coordinator];

我已经修改了上面的代码,以便它使用另一个NSManagedObjectContext,现在我的NSValueTransformer将被命中。

代码语言:javascript
复制
Session *session = [self getSession];
[session MR_deleteEntityInContext:context];

session = [Session sessionWithFirstName:firstName surname:surname response:jsonResponse andContext:context];
[context MR_saveToPersistentStoreWithCompletion:nil];

这样我的问题就解决了--如果有人知道我为什么不能使用[NSManagedObjectContext MR_default],我会很感兴趣的!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31695998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档