将数据传递到详细信息视图,实际数据或参考ID

时间:2016-06-10 05:27:45

标签: ios swift uitableview architecture uicollectionview

情况

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

它有两个视图。

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


问题/问题

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

以下哪项是更好的做法?

选项1

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

DetailView只显示文章


选项2

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

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


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

Option1似乎更快一些,因为我不必在加载文章时连接到API


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

1 个答案:

答案 0 :(得分:1)

你应该使用两者的组合,因为Facebook等许多应用也会这样做。例如。如果我的通知栏中有喜欢的照片,即使我当时没有活动连接,也可以点击该照片并查看。显然我会看到旧数据。然而,当时,Facebook立即向服务器发送呼叫,并显示更新的喜欢。

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

相关问题