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

标签 objective-c cocoa cocoa-design-patterns

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

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

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

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

最佳答案

TableView Controller 应该引用存储数据的模型,或者如果您的应用程序很简单,您可能会将模型数据存储在 TableView Controller 的数组或字典中。它是数组或字典,无论保存您应该存档的数据,而不是 TableView Controller 。

关于objective-c - 归档/取消归档 NSTableViewController 数据的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836793/

相关文章:

objective-c - 使用 block 和变量 iOS 的枚举

iphone - 存档项目给我以下错误 : The identity 'iPhone Distribution:

ios - MPMoviePlayerController 无法识别 UITapGestureRecognizer

objective-c - 撤消核心数据更改的操作名称

objective-c - 在类级别初始化静态 NSString

iPhone 无法使用 type= @"mp3"播放 mp3 声音

objective-c - 列出项目的所有UIViewController

cocoa - 存储鼠标按下位置

objective-c - Cocoa中不同ViewController之间的通信

ios - 如何在 Swift 中实现简单的 MVC 设计模式?