2014-10-06 63 views
0

因此,我閱讀了關於VIPER architecture的內容,我在想如何使用View,View Model,Presenter和View之間建議的圖層分隔來實現主 - 細節視圖組合控制器路由?使用視圖模型和圖層分隔來實現主 - 細節視圖

假設我想顯示一些聯繫人。我有ContactsListViewModel及其屬性名稱,照片和一些細節文本。這是ContactsListPresenterContactsListViewController已知的。

現在我在我的表格視圖中選擇一個聯繫人,視圖控制器將此告訴演示者,演示者告訴線框顯示詳細視圖...什麼?

List模塊已知的視圖模型沒有包含足夠的信息來顯示詳細信息(如進一步的註釋,調用列表,任何...)。

在這種情況下,是否應該有一個可用於列表和詳細視圖的視圖模型?那是否會違反分離關注點

回答

0

據我所知,你有2個選項 -

  1. 傳遞,其中包括所有數據你需要的聯繫人列表視圖控制器模型。由此你將獲得所有你需要的數據。 - 我個人認爲在某些情況下它可以,即使這有點浪費。
  2. 傳遞到詳細視圖的線框中的聯繫人ID。然後在視圖控制器的加載部分通過presnter加載,然後交互聯繫人的全部數據,然後顯示它。
+0

我完全忘了我在這裏問了這個問題。但是你是對的,那基本上就是你擁有的兩種選擇。雖然兩者都不完美,但似乎沒有其他辦法。 – 2015-01-20 09:46:41

相關問題