2011-10-31 28 views
10

Tôi muốn lưu DB khi nút quay lại được nhấp vào trong bộ điều khiển điều hướng.Phương pháp nào được gọi khi nút quay lại được nhấp trong bộ điều khiển điều hướng?

vì vậy tôi sẽ chèn mã vào phương thức.

Phương thức nào được gọi khi nút quay lại được nhấp trong bộ điều khiển điều hướng?

+0

Sử dụng biến cờ. Nếu DB không được cập nhật thì cập nhật-DB trong phương thức viewWillDisappear. Điều này sẽ làm việc. –

Trả lời

8

Để làm những gì bạn hỏi, nhìn vào giao thức UINavigationControllerDelegate, cụ thể là phương pháp:

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

khi lập luận viewController không còn điều khiển xem của bạn thì bạn nên tiết kiệm.

Tuy nhiên, làm như vậy trên viewWillDisappear: có thể là một ý tưởng tốt hơn (và đơn giản hơn nhiều).

1

Có thể đó không phải là cách sử dụng phù hợp, nhưng điều đó hiệu quả với tôi. Đừng quên đặt đại biểu 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

Điều này thực sự hoạt động. !!! – Techiee

Các vấn đề liên quan