1

新しいグラフ VC のモデルが電卓脳のサブクラスになることはわかっていますが、CalculatorBrain のプログラム スタックを古い VC から新しい VC の GraphingBrain に取得するにはどうすればよいでしょうか? Storyboard-segue でスタックを下に移動する必要がありますか?

新しい軸のセットアップでピンチとパンを行い、新しいグラフ ブレインとグラフ VC の間で通信するデリゲートを設定しました。しかし、古い MVC に「閉じ込められる」前にユーザーが入力した私の programStack ではありませんか?

コンセプトは理解できたと思いますが、そのコミュニケーションが発生する方法がわかりません。

前もって感謝します!

***コースに従わない人のために、NavigationController によってリンクされた 2 つの MVC があります。ユーザーは、(最初の MVC に) 一連の数値と演算を入力します。これらは、最初の MVC のモデルの配列に格納されます。ボタンが押されると、前の MVC で入力された配列を必要とする新しい MVC にセグエします。2 つの一見別々の MVC 間でその配列を転送するにはどうすればよいですか? 2 番目の VC にプロパティを設定して、最初の VC から設定することはできないと思います。これは、(2 番目の MVC) がまだインスタンス化されていないためです。preparteToSegue の何かかもしれませんが、よくわかりません。

4

1 に答える 1

0

CS193P (半分以上) を通過したので、あなたの質問は理解できたと思います。覚えておく必要があるのは次のとおりです。

プロパティ値を MVC (C --> V) パスに送信します。この場合、V は別の MVC を保持します。PrepareForSegue を使用します。宛先がインスタンス化されているかどうかに関係なく、いくつかのことを行う必要があります。

  1. 1 番目のクラス、2 番目のクラスの .h または .m ファイル ヘッダーにインポートします。
  2. prepareForSegue で、2 番目のクラスのインスタンスを作成し、それを segue.destinationViewController と等しくなるように設定します。後者を 2 番目のクラスに型キャストする必要があります。
  3. これで、(2 番目のクラスの) 作成したこのインスタンスのプロパティを任意の値に設定できます。
  4. IBOutlets は ViewDidLoad の後まで設定されないため、prepareForSegue から 2 番目のクラスの IBoutlet 値を設定することはできません。
  5. なんらかの理由で、条件を使用して segue.identifier をチェックする場合、ステートメントが 1 つだけであっても、ステートメントを {} で囲む必要があります。

これが役に立ち、ジュースが流れることを願っています...

KMB

于 2012-07-15T22:21:26.217 に答える