對不起,如果標題聽起來令人困惑,但我不能想出更好的東西。實現可以處理兩種不同視圖類型的視圖控制器
基本上我有一個視圖控制器,管理一個分頁滾動視圖,它顯示從數據庫中提取的幾個圖像。我是MVC的新手,我嘗試以最好的方式按照這種模式編寫我的代碼(我的經驗僅僅基於查看其他人的代碼並理解Apple的類如何工作,因此可能有缺陷;如果你能告訴我,我會很感激的)。
這就是我所做的:我有一個自定義視圖類,其中包含UIScrollView
,並且有兩個公共屬性:dataSource
和delegate
。數據源對象必須符合我定義的協議;它會返回圖像數量和圖像本身。選定頁面更改時,代表會收到通知。
我希望我說得對。無論如何,它的工作原理;我可以在沒有任何問題的情況下重新實現數據源(如果需要),並將提供數據的代碼與顯示數據的代碼分開。
但是現在我遇到了一個問題:我需要能夠用盡可能少的代碼複製的類似CoverFlow的視圖替換分頁滾動視圖。我知道必須有更好的方法來實現這一點,而無需使用此CoverFlow視圖創建另一個視圖控制器類。這兩個視圖類具有相似的方法,並以類似的方式工作,所以使用相同的視圖控制器代碼而不是重複它是有意義的。
也許我可以用泛型方法編寫一個抽象類並編寫它的兩個實現,一個用於滾動視圖,另一個用於CoverFlow視圖,然後基於傳遞給參數的參數在控制器中實例化其中的一個它。這是達到這個目標的最好方法嗎?
我希望這不是太混亂,我的方法沒有太多缺陷。謝謝。