那麼,「沒有得到它」太苛刻了;我已經在爲我的邏輯設置工作了,但它似乎並不是iOS認爲合乎邏輯的東西。所以我沒有得到什麼。iOS佈局;我不明白
假設我有一個顯示兩條信息的應用程序;一個日期和一張桌子。根據MVC的方法,我有三個MVC在這裏工作,一個是日期,一個是桌子,一個是將這兩個MCV組合起來,並將它們組裝成一個屏幕,然後將它們連接起來。
主MVC知道如何/在哪裏想佈局兩個子MVC的。每個細節MVC僅在主MVC指定的範圍內照顧自己的孩子。喜歡的東西:
- (void)loadView {
MVC* mvc1 = [[MVC1 alloc] initwithFrame:...]
[self.view addSubview:mvc1.view];
MVC* mvc2 = [[MVC2 alloc] initwithFrame:...]
[self.view addSubview:mvc2.view];
}
如果上述邏輯(這是對我來說),那麼我會想到的任何MVC類有一個構造函數「initWithFrame」。但是一個MVC不會,只有觀點有這個。
爲什麼?
如何正確佈局嵌套的MVC? (當然,我不是隻有這兩個,但是細節MVC再次具有子MVC。)
感謝所有人的回覆。我將研究提供的鏈接。
讓我試着再次解釋我的問題,希望能夠更清楚地說明問題。請注意,我已經發現我的視圖與iOS不匹配,因爲我不喜歡我的代碼在哪裏。
是的,我調用了一個「MVC」UIViewController,因爲它目前爲我實現了MVC的所有方面;它具有控制器代碼和嵌入式視圖,並且控制器通常也包含並提供數據(所有TableView示例都是這樣實現的)。
MVC可以出現在許多層面;基本上一個UITextField可以(應該)成爲一個MVC;有一種觀點,但也包括控制器邏輯,你不想與其他代碼混合。封裝。例如:Java的Swing JTextField有一個MVC。那麼JTable,JList ......多個MVC模式嵌套在其他MVC中來構建整個屏幕。
這是我所期望的,當一些平臺說它使用MVC模式。所以當我編寫表格時,我創建了一個MVC,並且只發送一個日期作爲參數的loadData消息。它需要自己照顧休息。我有一個可以滑入的Detail MVC;然後我告訴它它需要顯示的對象,並且它需要自己照顧其餘部分。封裝。
所以我有很多UIViewControllers嵌入UIViews。這不是做這件事的方法......
什麼是你正在談論的這個** MVC **對象?你是指UIViewControllers? – 2011-01-13 15:20:04