1

在执行 VIPER 架构的应用程序上,建议使用 NSObject 而不是 NSManagedObject (Interactor) 来处理实体。因此 NSManagedObject 在 PONSO 中被“转换”以使用。问题是,如果我修改 PONSO 中的属性,我如何更新核心数据?

谢谢你。

4

2 回答 2

1

只需使用NSManagedObject而不是NSObject. 这个建议不能从字面上理解。无论如何,NSManagedObject是 的直接后代NSObject,因此对于所有实际目的而言,它都一样好。

作为旁注,VIPER 是一种通用的架构理念,由于其文件和功能的粒度过大而没有得到太多关注。我建议您通过围绕这些控制器更有效地构建代码来减少“大规模视图控制器”问题,并使用 VIPER 作为一个很好的灵感来源。

于 2016-04-16T14:56:07.377 回答
0

这是一个非常糟糕的主意。如果您在应用程序中使用任何异步代码元素并且我们大多数人都这样做,您应该知道 nsmanagedoject 不是线程安全的传递。你需要重新考虑你的方法。如果您使用核心数据支持的应用程序,那么您可以将 managedobjectid 存储在 ponso 中并使用它来更新数据库,同时在数据库更改后触发 ui 刷新

于 2017-11-09T23:08:20.047 回答