我正在研究地震XML iPhone示例。
在该示例中,仅存在具有UITableViewController类型的rootViewController的应用程序委托。
我想对其稍加修改,以便有一个navigationController并将其rootViewController用作表视图。我的导航控制器的根视图控制器类名为“ firstLevelViewController”
在示例代码中说
[rootViewController.tableView reloadData];
我想说
[navController.firstLevelViewController.tableView reloadData]
但是我收到错误消息:“在某些情况下,对成员firstLevelViewController的请求不是结构或联合”
如何从主应用程序委托中引用navigationcontroller的rootViewController?
最佳答案
firstLevelViewController
中没有UINavigationController
属性。如果要访问当前控制器,可以使用
UITableViewController* firstLevelViewController = navController.topViewController;
assert([firstLevelViewController isKindOfClass:[UITableViewController class]]);
[firstLevelViewController.tableView reloadData];
如果
firstLevelViewController
表示底部的视图控制器,则可以使用UITableViewController* firstLevelViewController = [navController.viewControllers objectAtIndex:0];
....
关于iphone - 访问navcontroller iPhone的rootviewController时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2185466/