1

应用场景:在 UI 上,点击一个按钮从服务器获取联系人列表。请求转到子项目,该子项目进行下载和解析,并通过其委托将结果返回给 UI。到目前为止一切正常。假设没有互联网连接,我们不能有联系人列表。为了解决这个问题,我想缓存核心数据中的数据。如果没有互联网,缓存的数据将被返回。现在困扰我的问题是,是否可以创建一个数据模型并在子项目中使用它来保存数据,以及在从同一数据模型中提取和编辑数据的 UI 中使用它?所以基本上我想从不同的子项目和 UI 访问核心数据。我找不到有关此问题的提示或教程。有任何想法吗?

提前致谢!

编辑:

添加到父项目“a”的项目“b”。项目“b”实际上是一个静态库。

如果我让库保存数据并将数据返回到 UI,那么从核心数据中获取所有数据然后将其发送到 UI 会不会效率低下?

我实际上希望有一种方法可以在 UI 和库中使用相同的数据模型。我想防止 UI 有大量数据。最好有核心数据来处理包括在内。内存管理。我仍在阅读一些资料并尝试在测试项目中实现它。

4

1 回答 1

0

我认为只有主项目应该处理持久性,因为你总是可以决定以不同的方式处理它——是否永久保存它,使用核心数据或自制的 sql 包装器……。因此,由代表决定如何处理更多数据。
但是与委托协议一起,您可以决定维护不同的模型协议,这些协议定义了您的模型可以保存的内容。这将独立于实施。如果该对象符合协议,则委托现在可以将对象(无论是否核心数据模型)返回给委托人。子模块中的委托人现在可以检查服务器和/或缓存中的值。

于 2013-04-17T10:06:23.137 回答