0

我正在尝试构建一个具有图形功能的计算器,并且我正在使用 MVC 设计。

所以基本上有2个MVC

  • CalculatorViewController及其视图和模型
  • GraphViewController及其视图和模型

我正在使用NavigationController并设置rootView计算器部分的视图,如果我在此视图中输入公式,然后按一个Graph按钮,segue 会将程序带到视图的图形部分。

但是绘图视图需要知道要绘制哪些点,这可以通过将 设置GraphViewController为 的属性dataSource来处理GraphView,以便GraphView可以调用协议中定义的方法dataSource并获取要绘制的点数组。

所以目前的问题是,当我尝试调用该协议方法来获取点数组时,事实证明我dataSource在视图中始终是null.

这让我很困惑,因为我不太明白null当视图仍在屏幕上显示并处于活动状态时视图本身的控制器如何。

我用来dataSource在图形控制器中设置的代码如下:

  // code in GraphViewController.m
  @synthesize graphView = _graphView;

  - (void)setGraphView:(GraphView *)graphView {
      _graphView = graphView;
      self.graphView.dataSource = self;
  }

该视图还综合了dataSource以下属性:

  // code in GraphView.m
  @synthesize dataSource = _dataSource;
4

0 回答 0