基本的程序是这样的:一个视频处理软件,能够读取QTMovie文件,并且支持下面的操作:
(1)用户可以在视频的任意一帧上进行像photoshot路径那样的选择点,线段,路径或者形状,这里把这四种操作通称为“测量”,然后每一帧的测量
(包括点和路径)会被保存到一个table中(table包含所有帧的同一种测量的数据)。table窗口作为一个panel显示,以便用户可以监视
table的内容(可以选择路径的功能已经实现了,通过subclass NSView)。同一个视频可以有多个不同的测量table与其相关。
(2)每个视频的音频可以提取出来,输出到table中。这个部份的功能(如何提取音频,如何转化数据)也已经完成。
(3)所有的table数据能够保存和打开。
看起来功能其实很简单,但是兄弟现在的问题是如何把这些功能整合起来。因为多个table可能对应一个视频文件,所以我们的一个想法是使用
bundle,也就是说,每次保存的时候,视频文件会和所有的table数据保存到一个bundle中。
一开始的设计,我们使用了NSDocument框架,因为很多有关数据的操作(主要是redo和auto save)已经在框架中实现,所以可能回比较
适合。但是后来一个问题是,使用NSDocument的话,每个bundle应该对应一个Document,其中包含所有的table数据,但在实际的
开发中,为了让每个table也支持redo和auto save,每个table在开始时就设计成了一个NSDocument的子类。但是现在这样的
话,需要有一个NSDocument的嵌套结构(视频对应的NSDocument会包含若干个table的NSDocument)。似乎
NSDocument架构不支持这样的嵌套……
最近情况又有了新的变化,项目的负责人开始觉得Core Data是个不错的选择,因为一旦实现了将所有table到core data的转换,
bundle和auto save的功能就比较容易实现,于是项目开始大刀阔斧的改革……
兄弟现在的问题是:
(1)如上的功能,用NSDocument架构实现,是不是一个比较好的选择?
(2)如果使用core data,理论上core data可以和NSDocument架构结合,这样的话,只要使用视频的NSDocument子
类,其他都使用core data,会不会比较容易实现?
(3)以上的功能,如果各位大大们要实现的话,会采用怎么样的架构?如果有不同的架构,优缺点又如何?
不知道说清楚了没有……希望各位有经验的大大们为小弟指点迷津!!拜谢!!!
On Apr 6, 9:08 pm, yile...@gmail.com wrote:
> http://www.cocoachina.com/bbs/read.php?tid=17864
>
> 小僧帮忙转过去乐:)
>
> Send from lv2touch
>
> 在 2010-4-7,上午11:10,JArod Wen <jarod...@gmail.com> 写到:
>
>
>
> > 题目长了一些,但是最近实在是被这个项目压得够呛,节目也没时间做了......感
> > NSDocument架构不支持这样的嵌套......
>
> > 最近情况又有了新的变化,项目的负责人开始觉得Core Data是个不错的选择,
> > 因为一旦实现了将所有table到core data的转换,
> > bundle和auto save的功能就比较容易实现,于是项目开始大刀阔斧的改革......
>
> > 兄弟现在的问题是:
> > (1)如上的功能,用NSDocument架构实现,是不是一个比较好的选择?
> > (2)如果使用core data,理论上core data可以和NSDocument架构结合,这样
> > 的话,只要使用视频的NSDocument子
> > 类,其他都使用core data,会不会比较容易实现?
> > (3)以上的功能,如果各位大大们要实现的话,会采用怎么样的架构?如果有
> > 不同的架构,优缺点又如何?
>
> > 不知道说清楚了没有......希望各位有经验的大大们为小弟指点迷津!!拜谢!