Я работаю свой путь через грехопадение Стэнфордского 2011 IOS курс: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/CS193P Assignment 3, Hint # 5 - Какова модель?
Я на уступки # 3: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%203_2.pdf
В качестве резюме, предыдущие задания было предложено построить регулярный калькулятор и теперь это присваивание просит нас подтолкнуть этот калькулятор к контроллеру Nav и создать segue от этого CalculatorViewController к GraphViewController, который будет строить функцию, хранящуюся в «КалькуляторБране». Этот CalculatorBrain был моделью для исходного калькулятора CalculatorViewController.
Подсказка №5 продолжает говорить о том, что теперь модель для GraphViewController отличается от модели CalculatorViewController, и я не могу понять, что он имеет в виду.
Единственный способ, которым я смог построить новый MVC, - создать протокол в GraphView (представлении) GraphViewController с объектом, называемым «dataSource» идентификатора типа. А потом в 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 действительно является оригинальным калькулятором Brain, который он специально сказал, что это не так!
Я не имею в виду, что во время segue я присваиваю свойству калькулятора Graphviewcontroller экземпляр модели калькулятора из исходного калькулятора CalculatorViewController, а затем используя протокол, чтобы вернуть значение Y из GraphViewController в средство GraphView что модель для GraphViewController - это действительно оригинальная модель CalculatorBrain.
Не является «Какова модель нового контроллера вида?» точно, что вас просят выяснить? Что ты думаешь, что это должно быть? На каких данных работает контроллер графического представления? – Caleb
@Caleb Спасибо. Что действительно путано, так это то, что я определил протокол (с методом и свойством) в классе GraphView, а затем GraphViewController реализовал протокол (и метод), чтобы этот метод ответил с значением Y передаваемого x. Это беспокоит меня, потому что, на мой взгляд, это говорит о том, что значения модели (Y) для GraphVC все еще получены из основного класса CalculatorBrain, который, по его словам, не является. Может быть, это всего лишь семантика ... Я слишком задумываюсь над этим? – Spectravideo328