estoy trabajando mi camino a través de la caída de Stanford 2011 IOS curso: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/CS193P Tarea 3, Sugerencia n. ° 5: ¿Cuál es el modelo?
Estoy en la asignación # 3: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%203_2.pdf
A modo de resumen, las asignaciones anteriores han pedido construir una calculadora normal y ahora esto La asignación nos está pidiendo que introduzcamos esta calculadora en un controlador Nav y creemos un paso de ese CalculatorViewController a un GraphViewController que graficaría la función almacenada en el "CalculatorBrain". Este CalculatorBrain fue el modelo para el CalculatorViewController original.
La sugerencia n. ° 5 continúa hablando sobre el hecho de que ahora el modelo para GraphViewController es diferente al modelo de CalculatorViewController y no entiendo qué quiere decir con eso.
La única forma en que he podido construir el nuevo MVC es mediante la creación de un protocolo en el GraphView (vista) del GraphViewController con un objeto llamado "dataSource" de tipo ID. Y luego en el GraphViewController: la adopción de ese protocolo, una instancia del GraphView y el establecimiento de sí mismo como el origen de datos:
-(void) setGraphView:(GraphView *)graphView
{
_graphView=graphView;
self.graphView.dataSource=self;
}
y luego en el CalculatoViewController original, usando la prepareForSegue para pasar el programa a la GraphViewController:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"Graph"])
{
GraphViewController *myGraphViewController = segue.destinationViewController;
myGraphViewController.myCalculator=self.myCalcBrain;
}
}
Así que parece funcionar bien. Entonces, si eso funciona, eso significa que el modelo GraphViewController es realmente el Cerebro Calculadora original que específicamente dijo que no es.
Es decir, no es el hecho de que, durante el cambio, estoy asignando a la propiedad calculadora Graphviewcontroller la instancia del modelo de calculadora del CalculatorViewController original y luego usando un protocolo para devolver el valor Y del GraphViewController al medio GraphView que el modelo para el GraphViewController es realmente el modelo original de CalculatorBrain.
No es "¿Cuál es el modelo para este nuevo controlador de vista?" exactamente lo que se te pide que descubras? ¿Qué * * * piensas que debería ser? ¿En qué datos opera el controlador de vista gráfica? – Caleb
@Caleb Gracias. Lo que era realmente confuso es que definí un protocolo (con un método y una propiedad) en la clase GraphView y luego hice que GraphViewController implementara el protocolo (y el método) para que ese método respondiera con el valor Y de la x que se pasa. Esto me molesta porque, en mi opinión, eso me dice que los valores del modelo (de Y) para el GraphVC aún se derivan de la clase principal "CalculatorBrain", que dijo que no es. Tal vez esto sea solo semántica ... ¿Estoy pensando demasiado en esto? – Spectravideo328