2009-12-31 29 views
0

我在這個設計問題幾個小時以來一直在掙扎。當我做一個多選形式輸入字段時,我應該爲此創建一個視圖控制器還是視圖就好了?

在Cocoa中,例如複雜的Date Picker只是一個View。但它有很多複雜的邏輯和算法來啓用選擇日期。在這種情況下,我想創建一個用於多選對象的表單元素組件(即,當定義關係用戶1:n照片多選時,將允許一次選擇多張照片)。畢竟,這只是一個表單字段,但是相當複雜。

我的框架有ViewController類和View類。視圖類使用視圖模板,並具有所有的邏輯來填充他們的模板數據並將其渲染出來。

當設置這樣一個Multiselect表單輸入字段時,需要做一些設置: - 哪個類是鏈接的? - 哪些鏈接約束? (即用戶只能選擇他自己的照片) - 必須提供哪些對象/項目供選擇(=檢索它們!) - 哪些已被選擇? - 用戶必須至少選擇一個,還是沒有問題? - 還有更多

什麼令我惱火的是,蘋果的Date Picker真的只是一個View。我相信視圖必須像麪包一樣愚蠢。但顯然,讓你選擇日期的東西是非常聰明的。它知道整個日曆,它知道日期是否有效,它甚至可以顯示可能的日期或整個日曆來選擇日期。

那麼我該如何決定是否需要ViewController呢?

然後,當我在這裏採取ViewController的方法時...我不會得到一些不一致嗎?如何處理簡單無聊的文本輸入字段?那麼,他們也可能有一些複雜的表單驗證代碼。

也許我的問題標題不好,應該是「什麼時候使某個視圖控制器而不是普通視圖」......如果您不介意,請隨意編輯它。我現在完全搞不清楚了)

(我正在開發一個小小的PHP網頁框架,我儘可能多地關注Objective-C/Cocoa設計風格的「感覺」,所以這一切都是爲了網頁,而不是桌面)

回答

1

爲了處理請求(在提交的多選框中選擇的數據),您應該爲其創建控制器,但在視圖上將創建多選框。

+0

好點。謝謝! – openfrog 2009-12-31 12:30:00

+0

@lolcat:這是mvc的主要觀點。主要邏輯在控制器,html,js,css等上查看,而db查詢模型。謝謝 – Sarfraz 2009-12-31 12:44:53

相關問題