首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CS193P Assignment 3,Hint#5 -模型是什么?

CS193P Assignment 3,Hint#5 -模型是什么?
EN

Stack Overflow用户
提问于 2012-04-22 19:47:37
回答 6查看 1.6K关注 0票数 6

我正在努力完成斯坦福大学2011秋季iOS课程:http://www.stanford.edu/class/cs193p/cgi-bin/drupal/

我上了assignment#3:http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%203_2.pdf

总而言之,以前的任务要求构建一个常规的计算器,现在这个任务要求我们将这个计算器推到一个导航控制器上,并创建一个从该CalculatorViewController到一个GraphViewController的段,该段将绘制存储在"CalculatorBrain“中的函数。此CalculatorBrain是原始CalculatorViewController的模型。

Hint#5一直在谈论这样一个事实,即现在GraphViewController的模型与CalculatorViewController的模型不同,我不明白他这是什么意思。

我能够构建新的MVC的唯一方法是在GraphViewController的GraphView (视图)中创建一个协议,其中包含一个名为"dataSource“的ID类型的对象。然后在GraphViewController中:采用该协议,实例化GraphView并将其自身设置为数据源:

代码语言:javascript
复制
-(void) setGraphView:(GraphView *)graphView
  {
  _graphView=graphView;   
  self.graphView.dataSource=self;
  }

然后在原始CalculatoViewController中,使用prepareForSegue将程序传递给GraphViewController:

代码语言:javascript
复制
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  if([segue.identifier isEqualToString:@"Graph"])
  {
    GraphViewController *myGraphViewController = segue.destinationViewController;
    myGraphViewController.myCalculator=self.myCalcBrain;
  }
}

因此,这似乎工作得很好。因此,如果这是可行的,那就意味着GraphViewController的模型实际上是他特别指出的最初的计算器大脑!

我的意思是,在分段期间,我将来自原始CalculatorViewController的计算器模型实例赋值给Graphviewcontroller计算器属性,然后使用协议将Y值从GraphViewController返回到GraphView,这并不意味着GraphViewController的模型实际上就是原始CalculatorBrain模型。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-05-24 14:00:08

我相信这个模型就是“程序”,一个NSArray对象。它不能是对程序的描述,因为没有简单的方法来计算给定的NSString的"y“值。您必须将NSString重新解析为一个堆栈(NSArray)。因此,将模型作为NSArray/程序不是更直接吗?

票数 3
EN

Stack Overflow用户

发布于 2012-04-28 00:45:42

我不想为你回答这个问题,因为这是你应该做的,但我相信你想得太多了,所以他想让你意识到/做以下事情:

您的模型将是一个从原始计算器的模型继承而来的新类。这就是为什么他说你只需要从头开始创建视图和控制器。您还必须创建一个模型类,但是许多必要的代码已经存在于旧的calc模型中,因此您只需继承它并添加必要的附加功能即可。

希望这对您有所帮助,并且很高兴看到您正在使用这些课程。它们是一个很棒的免费工具!

票数 1
EN

Stack Overflow用户

发布于 2012-04-29 04:45:41

当我做那个作业的时候,我也有点纠结于这个问题。我得出的结论(正确或错误)是,模型只是一个公式-这似乎是你得出的结论,虽然不是计算器大脑课程,但与它密切相关!

编辑:

我刚刚回去看了我的计算器程序(我现在正在做flickr的作业,所以我有一段时间没看过它了)

看看基本的计算器,这个模型是一个“计算器大脑”对象。

在作业的提示中写着

不要将此控制器的模型与CalculatorViewController的模型混淆。它们是不同的。别想太多了。您的新控制器的模型近在眼前!

我所拥有的图形视图控制器的模型是一个程序。正如在计算大脑中定义的那样,程序中只有一个操作堆栈(NSArray),而不是一个计算大脑。我刚刚通过segue将当前程序传递到了图形视图控制器中。

对我来说,它似乎符合提示的细节-当你分割到图形时,程序就在手边,但它与计算器的模型不同。

不过,这个提示并不是说它与模型无关。

但我也有点iOS n00b,所以这只是我的观点!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10267677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档