Bueno, "no conseguirlo" es demasiado duro; Lo tengo trabajando para lo que para mí es una configuración lógica, pero no parece ser lo que iOS considera lógico. Entonces no estoy obteniendo algodiseño de iOS; No lo estoy obteniendo
Supongamos que tengo una aplicación que muestra dos datos; una fecha y una mesa. De acuerdo con el enfoque de MVC tengo tres MVC trabajando aquí, uno para la fecha, uno para la mesa y otro que toma estos dos MCV y los convierte en una pantalla, cableándolos.
El maestro MVC sabe cómo y dónde quiere distribuir los dos sub MVC. Cada detalle MVC solo se ocupa de sus propios hijos dentro de los límites especificados por el maestro MVC. Algo así como:
- (void)loadView {
MVC* mvc1 = [[MVC1 alloc] initwithFrame:...]
[self.view addSubview:mvc1.view];
MVC* mvc2 = [[MVC2 alloc] initwithFrame:...]
[self.view addSubview:mvc2.view];
}
Si lo anterior es lógico (que es por mí), entonces yo esperaría cualquier clase MVC tiene un constructor "initWithFrame". Pero un MVC no lo hace, solo ver esto.
¿Por qué?
¿Cómo se distribuirán correctamente los MVC anidados? (Naturalmente, no tengo sólo estos dos, pero el detalle los AT tienen los AT sub otra vez.)
Gracias a todos por responder. Estudiaré los enlaces que se proporcionaron.
Déjame intentar explicar mi problema una vez más, con suerte para hacerlo más claro. Tenga en cuenta que ya me di cuenta de que mi vista no coincide con la de iOS, ya que no me gusta a dónde va mi código.
Sí, estoy llamando a un UIViewController un "MVC", ya que para mí, en este momento, implementa todos los aspectos de un MVC; tiene un código de controlador y una vista incrustada, además el controlador generalmente también contiene y proporciona los datos (todos los ejemplos de TableView lo implementan de esta manera).
MVC puede estar presente en muchos niveles; básicamente un UITextField podría (¿debería?) ser un MVC; hay una vista, pero también la lógica del controlador implica que no desea mezclar con otro código. Encapsulación Por ejemplo: Swing JTextField de Java tiene un MVC. Lo mismo ocurre con JTable, JList, ... Varios patrones MVC anidados en otros MVC para construir una pantalla completa.
Esto es lo que espero cuando alguna plataforma dice que usa el patrón MVC. Entonces, cuando codifiqué la tabla, creé un MVC y solo envié el mensaje loadData con una fecha como parámetro. Necesita encargarse del resto mismo. Tengo un MVC detallado que puede deslizarse; Luego le digo el objeto que necesita mostrar y tiene que encargarse del resto. Encapsulación
Tengo muchos UIViewControllers con UIViews incrustado. Y esa no es la manera de hacerlo ...
¿De qué se trata este objeto ** MVC **? ¿Te refieres a UIViewControllers? –
Primero, solo tienes 1 MVC. A menos que la tabla haga referencia a un conjunto de datos CoreData, e incluso entonces estoy seguro de que solo tienes 1 MVC. Lo dijiste tú mismo = 1 Vista, con fecha y tabla. Cada una de estas 'subvistas' se puede controlar en el controlador principal. [Vea este tutorial.] (Http://www.macresearch.org/cocoa_for_scientists_part_ix_mvc_is_not_the_motor_vehicle_commission) –
@Tbee, aquí hay un [mejor artículo de Apple.] (Http://developer.apple.com/library/mac/#documentation /General/Conceptual/DevPedia-CocoaCore/MVC.html) Tiene imágenes sobre las cosas de MVC. –