2016-02-22 31 views
2

我有一個UITableViewController我使用在許多不同的方式:用不同的用例構建視圖控制器的最佳方法?

  1. 顯示多個自定義細胞(讓我們稱這些CellX),一個UIPageViewController父裏面。
  2. 顯示單個CellX單元格,並帶有自己的導航欄標題。
  3. 顯示一組不同的自定義單元格(CellY)。
  4. 顯示多個CellX單元但使用不同的數據。

目前,我有被設置爲標識該UITableViewController中的一個用例中使用,並且有不少if語句來控制什麼是UITableViewController內部發生boolean變量集。然而,這似乎是一種糟糕的編碼方式,還有更好的方法嗎?

回答

1

有幾種方法可以實現,我建議使用枚舉來查看視圖的所有可能狀態,然後在相關表格方法中打開它。類似下面的內容:

enum TableState { 

    case Full 
    case Filtered 
    case Advanced 
    case SecondView 
} 

var tableState = TableState.Full 

switch tableState { 

    case .Full: //setup table 
    case .Filtered 
    case .Advanced 
    case .SecondView 
} 
+0

大家都說過同樣的事情,但使用代碼更容易理解。謝謝! – Tometoyou

+0

樂意幫忙:] –

1

您可以創建一些枚舉類型來確定您的上下文,然後在switch語句中填充每個案例的視圖(並將這些案例放在單獨的方法中,以便更容易理解)。 Switch語句不僅更易讀,而且性能更好。 另一種方法是創建幾個不同的viewContollers,如果你的上下文大不相同。

1

不知道您的完整設計,但從您的設置來看,我會使用枚舉和case語句使代碼更容易理解和維護。

相關問題