【问题标题】:Passing data to Detail View, actual data or reference ID将数据传递给详细视图、实际数据或参考 ID
【发布时间】:2016-10-10 23:10:29
【问题描述】:

情况

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

它有两个视图。

  • TableView:显示文章列表
  • DetailView:显示所选文章的详细信息


问题/疑问

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

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

选项 1

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

DetailView 只显示文章


选项 2

将文章的参考 ID 从 TableView 传递给 DetailView

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


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

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


我知道这取决于情况,但我想知道是否有任何合理的指导方针。

【问题讨论】:

  • 我会使用选项 1。如果您已经有了文章,为什么还要回到网络?
  • 在非常简单的情况下,绝对是选项1

标签: ios swift uitableview architecture uicollectionview


【解决方案1】:

您应该将两者结合使用,因为 Facebook 等许多应用程序也这样做。例如。如果我的通知栏中有一张喜欢的照片,我可以单击该照片并查看它,即使当时我没有活动连接。我显然会看到较旧的数据。然而此时,Facebook 会立即向服务器发送调用,并显示更新后的点赞数。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-07
    • 2014-05-23
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2013-07-29
    • 2017-12-09
    • 2016-08-08
    相关资源
    最近更新 更多