我无法理解 segues 以及它们如何工作和传递对象。基本上我有一个计算器,并试图绘制存储在数组中的对象。到目前为止,我有一个名为 Brain 的对象,它是 CalculatorBrain 的一个实例。现在,brain 有一个 NSArray 属性,我将其用作堆栈来存储变量。假设我将值 3 和 5 添加到数组中,然后想要继续。我将我的 segue 选择到一个名为“Graph”的按钮上,所以当我单击该按钮时,它会继续。我如何将大脑传递给我正在使用的新视图控制器?我有一个名为 setGraphingPoint 的属性,它在我认为应该接受传递的对象的新视图控制器中定义。另外,如果我通过一个 segue 传递大脑,值 3 和 5 会随之传递,还是会创建一个新的 CalculatorBrain 对象?这是我到目前为止所拥有的。
这是在新的视图控制器中定义的
@property (nonatomic, strong) CalculatorBrain *graphingPoint;
@synthesize graphingPoint = _graphingPoint;
-(void) setGraphingPoint:(CalculatorBrain*) graphingPoint{
_graphingPoint = graphingPoint;
[self.graphingView setNeedsDisplay];
}
这是从旧的视图控制器调用的,它将有按钮来继续
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"Graph"])
[segue.destinationViewController setGraphingPoint:[self.brain program]];