继续使用 NSManagedObject 类型但迁移核心数据

问题描述

我正在处理使用 Core Data 的大量现有代码库。

我有扩展 NSManagedObject 并保留在核心数据中的类型。

我需要完全从 Core Data 迁移(这样做的原因并不重要,但我有充分的理由)。但是,我有一个基本的限制。

  • 我无法将这些类型更改为 NSObject(某些用例必须继续使用 Core Data)。
  • 这些 NSManagedObject 类型在我的业务逻辑中被大量传递。我不想重构该业务逻辑并引入新的/“非托管”类型。

假设我有一个类型为 Foo 的 NSManagedObject。我试过类似的东西:

Foo *foo = [[Foo alloc] init];
foo.name = "beebunny";

foo.name 调用导致崩溃。

name@dynamic 并且具有自定义设置方法,例如:

- (void)setFoo:(Foo *)fooIn
{
    [self setFoo:fooIn];
}

[self setFoo:fooIn]; 调用导致异常(未知选择器)。

如果我正在使用扩展 NSManagedObject 的任何类型,似乎我必须使用 Core Data。

对于我要关闭核心数据的迁移类型,是否有适当/推荐的模式?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)