在 swift 中使用 table 视图保存基于文档的应用程序

Saving document-based application with table view in swift

我在 swift 中创建了一个非常简单的 macOS 应用程序,它只包含一个 tableView。 table 视图的行显示 class.

的属性

现在我考虑将其保存到文件中。很久以前我已经在 Objective-C 做过类似的事情,但现在已经发生了很多变化。

搜索了一段时间后,我还没有找到如何执行此操作的方法。也许我搜索了错误的关键字,但这是我已经发现的:

1) 我可以利用Document.swift

中的数据函数

2) 我不知何故需要 return 这个函数中的数据

完成这个还缺少什么,就是如何在数据函数中 return 一个 table 视图的数据。 更准确地说:如何编码 tableView?我应该使用哪些功能?

搜索这个主题让我感到困惑,因为我找到了太多关于这个非常简单的问题的信息。它变得更加复杂,因为很多信息都是关于 iOS...

所以,也许你们中的一些人可以给我一些提示,告诉我如何才能将 tableView 保存到文件中?

非常感谢!

此致

您 cannot/should 没有将 TableView 包含您的数据的 UI 元素保存到文件中。您想要做的是序列化输入 TableView 的数据,然后将其保存到磁盘,然后在用户重新启动您的应用程序后将其读回以恢复 TableView。

有关如何执行此操作的教程,我强烈推荐这个:

https://medium.com/commencis/swift-4s-codable-one-last-battle-for-serialization-30ceb3ccb051

但是,要使其发挥作用,您首先需要概念化数据的结构,以便您确切地知道需要做什么。通常,TableView 依赖于项目数组,这些项目有几个需要序列化的属性。序列化应遵循包含带有键的项目的数组模式,以标识每个要保存的 属性。