2011-10-31 4 views
10

ナビゲーションコントローラーで戻るボタンをクリックしたときにDBを保存します。ナビゲーションコントローラで戻るボタンをクリックしたときに呼び出されるメソッドはどれですか?

私はメソッドにコードを挿入します。

ナビゲーションコントローラで戻るボタンをクリックすると、どのようなメソッドが呼び出されますか?

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

のViewController引数は、もはやあなたのビューコントローラであるとき、あなたが保存してはならない:あなたが求めて何をすべきか

+0

フラグ変数を使用します。 DBが更新されていない場合は、viewWillDisappearメソッドのDBを更新します。これはうまくいくはずです。 –

答えて

8

は、すなわち法UINavigationControllerDelegateプロトコル、見てください。

しかし、viewWillDisappear:のようにすると、より良い(そしてはるかに簡単な)アイデアになるかもしれません。

1

多分それは適切な使用ではありませんが、それは私のために働いた。 UINavaigationControllerデリゲートを設定することを忘れないでください。

- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController 
            animationControllerForOperation:(UINavigationControllerOperation)operation 
               fromViewController:(UIViewController *)fromVC 
                toViewController:(UIViewController *)toVC 
{ 
    NSLog(@"from VC class %@", [fromVC class]); 
    if ([fromVC isKindOfClass:[ControllerYouJustPopped class]]) 
    { 
     NSLog(@"Returning from popped controller"); 

    } 

    return nil; 
} 
+0

これは本当に機能します。 – Techiee