0

作業中のiPhoneプロジェクト用にXCodeでViewControllerを作成しましたが、ネストされたViewControllerと、親のViewController関数にアクセスするための最良の方法について質問があります。

基本的に、現時点では、MenuViewController(ネストされた)とGameViewController(ネストされたOpenGL ESをレンダリングする)を備えたSwitchViewControllerがあります。

現時点では、動作するSwitchViewControllerでアニメーションビューの切り替えを制御しています。しかし、プレイヤーがMenuViewControllerからレベルを選択し、GameViewControllerで適切なレベルを実行した後で、これを呼び出したいと思います。ロケット科学ではありません、私は知っています。

親関数を呼び出すための最良の方法は何ですか?

4

3 に答える 3

1

ビューコントローラの親へのポインタを作成し、ビューコントローラのビューを別のビューにネストするときにそれを設定する必要があります。

于 2010-04-12T11:51:51.480 に答える
1

あなたの質問を正しく理解しているかどうかはわかりませんが、デリゲートパターンを使用します。親ビューコントローラーへのポインターを、ネストされたビューコントローラーへのデリゲートとして渡します。これにより、ネストされたクラスから親クラスのデリゲートのメソッドを呼び出すことができます。

于 2010-04-12T11:55:02.653 に答える
-1

私はそれを解決し、私の発見を共有したいと思いました。

サブビューまたはサブビューコントローラーでは、次のコードを他の場所へのポインターとして使用できます。

#import "TwoViewAppDelegate.h" // import the header of the class you want to reference


- (IBAction)setRedColor:(id)sender
{
    // Use the class name and create a pointer (in this case mainDelegate)
    TwoViewAppDelegate *mainDelegate = (TwoViewAppDelegate *)[[UIApplication sharedApplication] delegate];
    mainDelegate.textColor = [UIColor redColor];
    [mainDelegate flipToFront];
}
于 2010-04-14T10:23:44.037 に答える