获得最顶级的UIViewController

如果我在UINavigationController上推视图控制器和/或呈现模态视图控制器,我怎样才能找出最顶层的UIViewController ? 或者在我的情况下,我想知道如果某个UITableViewController是最重要的或不是。

我试过使用:

 self.navigationController.topViewController == self 

…但这不起作用。 我猜这是失败的,因为我在它上面展示了模态视图控制器,并且topViewController只跟踪哪些视图被推送到UINavigationController (而不是模态显示的那些视图)。