IPhone アプリケーションに がありUIViewController
ます。一部のアニメーションでは、rootview のようなビューを作成し、その中にすべての要素を追加しました。ボタンをクリックすると、その rootview が削除され、別のビュー コントローラー ビューが追加されました。ビューをロードしました。新しいView Controllerで関数を実行したいのですが、そのためには、最初のView Controllerを2番目のView Controllerのデリゲートとして設定する必要がありますか?誰か助けてくれますか?
1597 次
2 に答える
2
secondVCで、次のように定義します。
@protocol secondVCDelegate
@interface secondVC : UIViewController
@property (nonatomic, assign) id<secondVCDelegate> delegate;
@end
@optional
-(void)someDelegateMethod:(secondVC*)viewController;
@end
secondVCのインスタンスを作成するときに、secondVCのデリゲートプロパティを自分自身に割り当てる必要があります。このようなもの:
// in firstVC
secondVC vc = [[secondVC alloc]...];
vc.delegate = self;
[navcontroller pushVC:vc];
ラインvc.delegate = self;
はトリックを行います。
それが役に立てば幸い...
于 2012-07-16T10:51:27.077 に答える
0
どのコントローラーからどのコントローラーのメソッドを呼び出したいのか、入力からわからない場合は?
2 つのシナリオ:
A. 最初のビュー コントローラーで、2 番目のビュー コントローラーのメソッドを呼び出したい場合は、次のようにします。
[instantOfSecondViewController methodInSecondVC];
B. 2 番目のビュー コントローラーで、最初のビュー コントローラーのメソッドを呼び出します。この場合、デリゲート パターンを使用する必要があります。
このSOに両方の例を投稿しました。
于 2012-07-16T10:44:25.693 に答える