可以/应该在没有持久性的情况下使用核心数据吗?

时间:2018-08-28 00:01:11

标签: swift macos cocoa model-view-controller core-data

我正在构建一个数据可视化应用程序,它将帮助我使用Apple的Core GraphicsCore Animation框架来实现数据。我有一台Python服务器执行数据科学并传达我要在JSON中可视化的数据。

当我开始在NSView子类中显示数据视觉效果时,我注意到每个Core Animation层都维护着很多数据。例如,如果这是一个烛台图,则每个“蜡烛”都将关联交易开盘价,高价,低价,收盘价,日期/时间等数据。

我知道在严格的MVC设计中,视图不应处理任何数据管理-只能处理该数据。

这是苹果公司的Core Data框架吗?

我所有的研究...

...说Core Data不是数据库。这是一个对象图管理器,如果需要,它可以持久化对象数据。它还说"Core Data's true function is to provide the complete model layer for the Model-View-Controller app design that the Apple API uses."

那么,这是否意味着Core Data可以不使用其持久性功能?

由于我的大部分数据都是实时的,因此持久性用处不大。所有这些数据都来自我的Python服务器。但是,我将使用Core Animation形状的 LOT 图形来表示它们。而且,这些图形将根据不同的选项,服务器更改和用户选择的覆盖图不断变化。

我开始开发一个单独的类来处理各个CAShapeLayer,定义每个NSView的数据及其呈现方法。但是,这不是真正的MVC设计-这是一种面向对象的方法,正确

我很困惑...

Core Data子类应该管理什么数据,NSCoder应该何时接收?

我的研究还表明,NSKeyArchiverRootPage是一种替代方法,但它似乎主要用于对数据进行序列化/反序列化或编码/解码到文件存储或用于网络传输。我不确定我在找那个。

0 个答案:

没有答案