Я прорабатываю курс iOS в Стэнфорде осенью 2011 г.: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
Я выполняю задание #3: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%203_2.pdf
Подводя итог, предыдущие задания просили построить обычный калькулятор, и теперь это задание просит нас передать этот калькулятор в контроллер Nav и создать переход от этого CalculatorViewController к GraphViewController, который будет отображать функцию, хранящуюся в «CalculatorBrain». Этот CalculatorBrain был моделью для оригинального CalculatorViewController.
Подсказка #5 продолжает говорить о том, что теперь модель для GraphViewController отличается от модели CalculatorViewController, и я не могу понять, что он имеет в виду под этим.
Единственный способ создать новый MVC — это создать протокол в представлении GraphView ()GraphViewController с объектом с именем «dataSource» типа ID. А затем в GraphViewController :, приняв этот протокол, создав экземпляр GraphView и установив себя в качестве источника данных:
-(void) setGraphView:(GraphView *)graphView
{
_graphView=graphView;
self.graphView.dataSource=self;
}
И затем в исходном CalculatoViewController, используя prepareForSegue для передачи программы в GraphViewController:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"Graph"])
{
GraphViewController *myGraphViewController = segue.destinationViewController;
myGraphViewController.myCalculator=self.myCalcBrain;
}
}
Так что, похоже, все работает нормально. Так что, если это работает, это означает, что модель GraphViewController действительно является оригинальным мозгом калькулятора, о чем он специально сказал, что это не так!
Я имею в виду не тот факт, что во время переходаЯ назначаю свойству калькулятора Graphviewcontroller экземпляр модели калькулятора из исходного CalculatorViewController, а затем использую протокол для возврата значения Y из GraphViewController в GraphView, что означает, что модель для GraphViewController на самом деле является исходной моделью CalculatorBrain.