将数据传递到详细信息视图、实际数据或引用 ID

Passing data to Detail View, actual data or reference ID

情况

假设有一个显示文章的 iPhone 应用程序。文章从服务器加载。

它有两种观点。


问题/疑问

我想知道将数据从 TableView 传递到 Detail View 的更好方法。

以下哪一项是更好的做法?

选项 1

将实际的 Article 对象从 TableView 传递到 DetailView

DetailView 只显示文章


选项 2

将文章的引用 ID 从 TableView 传递到 DetailView

这种情况下,DetailView 通过文章的 ID 从服务器加载文章。


选项 2 似乎是更好的设计,因为 TableView 和 DetailView 之间的关系最小。

选项 1 似乎快了一点,因为每次加载文章时我都不必连接到 API


我知道这要视情况而定,但我想知道是否有任何合理的指导方针。

您应该结合使用两者,因为许多应用程序(例如 Facebook)也执行相同的操作。例如。如果我的通知栏中有一张被点赞的照片,我可以单击该照片并查看它,即使当时我没有活动连接。我显然会看到旧数据。然而此时,Facebook 立即向服务器发送调用并显示更新的点赞数。

因此,理想的做法是将整个对象传递给下一个 VC 并立即向服务器发送异步调用。然后应将任何更改重新加载到完整的数据模型中。希望这有帮助:)