将数据传递到详细信息视图、实际数据或引用 ID
Passing data to Detail View, actual data or reference ID
情况
假设有一个显示文章的 iPhone 应用程序。文章从服务器加载。
它有两种观点。
- TableView:显示文章列表
- DetailView:显示所选文章的详细信息
问题/疑问
我想知道将数据从 TableView 传递到 Detail View 的更好方法。
以下哪一项是更好的做法?
选项 1
将实际的 Article 对象从 TableView 传递到 DetailView
DetailView 只显示文章
选项 2
将文章的引用 ID 从 TableView 传递到 DetailView
这种情况下,DetailView 通过文章的 ID 从服务器加载文章。
选项 2 似乎是更好的设计,因为 TableView 和 DetailView 之间的关系最小。
选项 1 似乎快了一点,因为每次加载文章时我都不必连接到 API
我知道这要视情况而定,但我想知道是否有任何合理的指导方针。
您应该结合使用两者,因为许多应用程序(例如 Facebook)也执行相同的操作。例如。如果我的通知栏中有一张被点赞的照片,我可以单击该照片并查看它,即使当时我没有活动连接。我显然会看到旧数据。然而此时,Facebook 立即向服务器发送调用并显示更新的点赞数。
因此,理想的做法是将整个对象传递给下一个 VC 并立即向服务器发送异步调用。然后应将任何更改重新加载到完整的数据模型中。希望这有帮助:)
情况
假设有一个显示文章的 iPhone 应用程序。文章从服务器加载。
它有两种观点。
- TableView:显示文章列表
- DetailView:显示所选文章的详细信息
问题/疑问
我想知道将数据从 TableView 传递到 Detail View 的更好方法。
以下哪一项是更好的做法?
选项 1
将实际的 Article 对象从 TableView 传递到 DetailView
DetailView 只显示文章
选项 2
将文章的引用 ID 从 TableView 传递到 DetailView
这种情况下,DetailView 通过文章的 ID 从服务器加载文章。
选项 2 似乎是更好的设计,因为 TableView 和 DetailView 之间的关系最小。
选项 1 似乎快了一点,因为每次加载文章时我都不必连接到 API
我知道这要视情况而定,但我想知道是否有任何合理的指导方针。
您应该结合使用两者,因为许多应用程序(例如 Facebook)也执行相同的操作。例如。如果我的通知栏中有一张被点赞的照片,我可以单击该照片并查看它,即使当时我没有活动连接。我显然会看到旧数据。然而此时,Facebook 立即向服务器发送调用并显示更新的点赞数。
因此,理想的做法是将整个对象传递给下一个 VC 并立即向服务器发送异步调用。然后应将任何更改重新加载到完整的数据模型中。希望这有帮助:)