我正在尝试构建一个具有图形功能的计算器,并且我正在使用 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;