1

好的,我知道新图形 vc 的模型将成为计算器大脑的子类,但是如何将 CalculatorBrain 的程序堆栈从旧 VC 获取到新 VC 的 GraphingBrain?我是否必须在 Storyboard-segue 的堆栈中走下去?

我在新轴设置上进行了捏合和平移,以及在新图形大脑和图形 vc 之间进行通信的委托。但是,用户在“困”在旧 MVC 中之前输入的我的 programStack 不是吗?

我想我已经理解了这个概念,但我看不到这种交流发生的方式。

提前致谢!

***对于那些不遵循课程的人,我有两个由 NavigationController 链接的 MVC。用户输入一系列数字和操作(在第一个 MVC 中),然后将其存储在第一个 MVC 模型中的数组中。当一个按钮被按下时,它会转到一个新的 MVC,它需要在前一个 MVC 中输入的数组。如何在两个看似独立的 MVC 之间传输该数组?我认为我不能在第二个 VC 中拥有一个属性并从第一个 VC 设置它,因为它(第二个 MVC)尚未实例化。它可能与 preparteToSegue 相关,但我不确定。

4

1 回答 1

0

经历了 CS193P(远远超过一半),我想我理解你的问题。以下是您需要记住的内容:

沿着 MVC (C --> V) 路径发送一个属性值,在这种情况下,V 持有另一个 MVC;使用 PrepareForSegue。无论目的地是否已实例化,您都需要做一些事情:

  1. 在第一类、第二类的.h或.m文件头中导入。
  2. 在 prepareForSegue 中,创建 2nd 类的实例并将其设置为等于 segue.destinationViewController。您需要将后者类型转换为第二类。
  3. 现在您可以将您创建的(第二类)这个实例的属性设置为您想要的任何值。
  4. 您不能从 prepareForSegue 为第二个类设置任何 IBoutlet 值,因为直到 ViewDidLoad 之后才会设置 IBOutlet。
  5. 出于某种奇怪的原因,如果您确实使用条件来检查 segue.identifier,您将需要将语句括在 {} 中,即使它只有一个语句。

希望这会有所帮助并让果汁流动......

九巴

于 2012-07-15T22:21:26.217 回答