2012-01-20 28 views
2

私はUIViewControllerに、現在表示されているものをベースにするメソッドを持っています。 viewDidAppear/viewDidDisappearが呼び出されたときにBOOLフラグをYES/NOに切り替えることができますが、より良い方法/方法を確認することができますか?UIViewControllerが表示されているかどうかを確認する良い方法はありますか?

ありがとうございました。

+1

その後

@interface MyController: UIViewController - (void)reset; @end @implementation MyController - (void)reset { //Set some defaults, do some logging, etc } - (void)viewDidAppear { [self reset]; } - (void)viewDidLoad { [self reset]; } @end 

...:

ラフ例http://stackoverflow.com/questions/2777438/how-to-tell -if-uiviewcontrollers-view-is-visible – albertamg

+0

これは良い助けです。ありがとう! – evanwong

答えて

0

viewDidAppear方法が最適です。私はいくつかのエッジケースを見たことがありますが、viewDidAppear/viewDidDisappearはさまざまな要因によって呼び出されません。

私はコントロールを楽しんでいて、未知のものが好きではないので、私は通常、呼び出されたときにすべてのセットアップを行うコントローラーでメソッドを公開し、コントローラーが呼び出されたことを知ったときにこのメソッドを呼び出します。これは役立つかもしれない

@implementation SomeOtherController 
- (void)someMethod 
{ 
    [self.myController reset]; 

    //present self.myController using some logic 

} 
@end 
関連する問題