假设有一个iPhone应用程序显示文章。文章是从服务器加载的。
它有两个视图。
我想知道将数据从TableView传递到Detail View的更好方法。
以下哪项是更好的做法?
将实际的Article对象从TableView传递给DetailView
DetailView只显示文章
将文章的参考ID从TableView传递给DetailView
这种情况下,DetailView通过文章的ID从服务器加载文章。
Option2似乎是一个更好的设计,因为TableView和DetailView之间的关系是最小的。
Option1似乎更快一些,因为我不必在加载文章时连接到API
我理解这取决于情况,但我想知道是否有任何合理的指导原则。
答案 0 :(得分:1)
你应该使用两者的组合,因为Facebook等许多应用也会这样做。例如。如果我的通知栏中有喜欢的照片,即使我当时没有活动连接,也可以点击该照片并查看。显然我会看到旧数据。然而,当时,Facebook立即向服务器发送呼叫,并显示更新的喜欢。
因此,将整个对象传递给下一个VC并立即向服务器发送异步调用应该是理想的。然后,应在完整的数据模型中重新加载任何更改。希望这会有所帮助:)