2009-07-16 21 views
0
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 

    NSLog(@"switching views"); 
    if([viewController isKindOfClass: [UINavigationController class]] && 
    [[[viewController viewControllers] objectAtIndex: 0] isKindOfClass: [SavedViewController class]]) { 

     NSLog(@"its a SavedViewController"); 
     [[[[viewController viewControllers] objectAtIndex: 0] tableView] reloadData]; 
    } 

} 
+0

これはスタックオーバーフローに属します。 – Sam152

+0

コメントは移行されますか? ^^^ –

答えて

2

Reloadデータ呼び出しをSavedViewControllerクラスのviewDidAppearメソッドに入れないのはなぜですか?

+0

私は同じことを思っていた... –

+0

第二の考えで良い呼び出し:) –

1

ドット表記はブラケットフォレストの一部をクリーンアップしますが、それはすべて私が考えることができます。

1

ココアの大きなトレードオフは、可読性と簡潔さです。

あなたは、私がどうなるのかからその遠くないよ:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    NSLog(@"switching views"); 
    if([viewController isKindOfClass: [UINavigationController class]]) { 
     id first_view_controller = [viewController.viewControllers objectAtIndex:0]; 
     if ([first_view_controller isKindOfClass: [SavedViewController class]) { 
      NSLog(@"its a SavedViewController"); 
      [first_view_controller.tableView reloadData]; 
     } 
    } 
} 

編集:C.マッコールあたりの場所のカップルで、ドット表記を使用

再編集:にObjCが短いんように見えます回路。

+0

目的Cと私が短絡について知っている他のすべてのプログラミング言語。 –

+0

ヘッドアップありがとう。 – amattn

関連する問題