归档/取消归档NSTableViewController数据的最佳实践?

时间:2012-08-06 22:19:09

标签: objective-c cocoa cocoa-design-patterns

我有一个拥有nib文件的NSWindowViewController。 nib文件中的一个对象是NSTableView,由NSTableViewController(也是nib的一部分)管理。

我想实现NSCoding协议来保存所有模型数据,其中一些包含在NSTableViewController中(我将其称为TVC)。归档整个TVC似乎是错误的答案,因为当它稍后取消归档时,它将不会连接到笔尖。虽然我可能会以编程方式重新连接所有内容......这看起来非常糟糕。

我可以让NSWindowViewController从TVC中获取表数据,但这意味着我必须暴露所有的ivars,这似乎也是错误的解决方案。

存储/取消归档TVC中存储的数据的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

表视图控制器应该具有对存储数据的模型的引用,或者如果您的应用程序很简单,您可能将该模型数据存储在表视图控制器中的数组或字典中。这是数组或字典,无论保存您的数据应该存档,而不是表视图控制器。