尝试在iOS中使用UITabBarController和UITableViewController时出现异常

时间:2013-08-26 21:10:46

标签: ios uitabbarcontroller uitableview

我是新手。我正在尝试使用UITabBarController和UITableViewController(没有UINavigationController),但是在修改std tabbar项目之后我遇到了异常

  

由于未捕获的异常而终止应用   'NSInternalInconsistencyException',原因:' - [UITableViewController   loadView]加载了“IHHideView”笔尖,但没有得到UITableView。'

我的didFinishLaunching

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    UIViewController *hideViewController = [[IHHideViewController alloc] init];
    UIViewController *unhideViewController = [[IHUnhideViewController alloc] init];
    UIViewController *filesVIewController = [[IHFilesViewController alloc] init];
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = @[hideViewController,unhideViewController,filesVIewController];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

IHHideViewController只是UITableViewController的简单子类

@interface IHHideViewController : UITableViewController

@end

据我所知,UITableViewController创建自己的UITableView对象具有正确的尺寸和autoresize掩码,如果不指定nib文件。为什么会发生这种异常?

2 个答案:

答案 0 :(得分:1)

这是因为您正在对TableViewController进行子类化。而是改变:

@interface IHHideViewController : UITableViewController

为:

@interface IHHideViewController : UIViewController

答案 1 :(得分:0)

使用空模板解决问题重新创建项目。