2014-12-11 77 views
0

來自PHP/MYSQL背景的IOS newb。ios /篩選表的最佳實踐 - 一個視圖控制器或多個

我有兩個非常相似的頁面視圖,僅在返回不同記錄集的查詢參數方面有所不同。由於記錄不同,我也想給頁面不同的標題。這個問題在我的項目中出現過多次,但其中一個例子是一個頁面用於返回發送的郵件和收到的其他郵件。

數據來自後端服務器通過json Web服務。

對於使用PHP/MYSQL的網站,我強烈傾向於擁有一個頁面,並且只是基於查詢參數返回不同的標題和記錄。

問題:

在Xcode中/ IOS我應該使用一個表視圖控制器爲當前頁或單獨的表的視圖控制器。

我傾向於兩個,因爲這兩個頁面佔據導航層次結構中的不同位置。然而,除了標題外,這些頁面非常相似,它們顯示和分離的視圖控制器似乎違背了不重複代碼的原則。

感謝您的任何建議。抱歉我的問題不包括代碼示例..它更多地理解IOS應該如何工作的最佳實踐。

謝謝。

回答

1

您提出問題的方式的問題在於,在您的腦海中,您似乎沒有在做面向對象的編程。請區分「不同視圖控制器」和「不同視圖控制器」之間。如果這些接口在接口中佔據不同的位置,或者甚至是相同的地方,但一個過渡到/被另一個替換,則它們必須是不同的視圖控制器。但他們當然可以是相同的視圖控制器(或相同視圖控制器類的子類)的實例,並且可能應該是。

+0

例如,請參閱我的蛋白應用程序(免費,只需下載並觀看)。它有三個界面 - 用於顯示你的相冊,你的有聲讀物和你的播客。非常類似於您的相同數據進行不同過濾。這是一個視圖控制器類的三個實例。 – matt 2014-12-11 01:48:05

+0

所以也許子類表視圖控制器的類有所有必要的代碼來拉和顯示錶,然後創建它的不同實例? – user1904273 2014-12-11 01:49:29

+0

_Exactly._你剛剛說的恰恰是iOS編程中的標準操作過程。在蛋白中,這正是我所做的;不同實例的行爲是_slightly_不同,所以我有一個「類型」實例變量,這些差異取決於切換。 – matt 2014-12-11 01:50:27