我正在构建一个数据可视化应用程序,它将帮助我使用Apple的Core Graphics
和Core 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
应该何时接收?
我的研究还表明,NSKeyArchiver
和RootPage
是一种替代方法,但它似乎主要用于对数据进行序列化/反序列化或编码/解码到文件存储或用于网络传输。我不确定我在找那个。