使用情节板上的iPad上的UitableView不加载单元格



i具有带有核心数据的Uistoryboard的UitableView。在iPhone上,Uitable View正确加载,但没有在iPad上。

TableViewController会更新Navbar标题并正确设置工具栏,因此可以肯定的是,故事板文件正常加载。当TVC加载时,我正在打印应该填充表的项目数(正确的值),但是NumberOfrowsInsection没有显示任何项目。

在TVC内部,没有以设备为中心的代码路径。故事板中的代表和数据源已连接,故事板ID设置了,电视子类也是如此。

我在这里完全损失。如果我应该发布特定的代码,请在评论中告诉我。

AppsListTableViewController *appsList = (AppsListTableViewController *)[self appListTableViewController];
        UINavigationController * masterNavController = [[UINavigationController alloc] initWithRootViewController:appsList];
        masterNavController.toolbarHidden = NO;
        masterNavController.navigationBar.barStyle = UIBarStyleDefault;
        if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
            BugsForAppDetailTableViewController *bugsForApp = (BugsForAppDetailTableViewController *)[self bugsForAppTVC];
            [appsList setDetailViewController:bugsForApp];
            UINavigationController * detailNavController = [[UINavigationController alloc] initWithRootViewController:bugsForApp];
            detailNavController.toolbarHidden = NO;
            detailNavController.navigationBar.barStyle = UIBarStyleDefault;
            [self.splitViewController setViewControllers:@[masterNavController, detailNavController]];
            self.splitViewController.delegate = appsList;    
        }
        else if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) {
            [_drawerController setCenterViewController:masterNavController];
            [_drawerController closeDrawerAnimated:YES completion:^(BOOL finished) {
                if (finished) {
                }
            }];
        }

和bugsforapptvc getter

- (BugsForAppDetailTableViewController *)bugsForAppTVC {
    if (_bugsForAppTVC == nil) {
        UIStoryboard *storyboard = nil;
        if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
            storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
        }   else {
            storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
        }
        BugsForAppDetailTableViewController * centerViewController = (BugsForAppDetailTableViewController *)[storyboard instantiateViewControllerWithIdentifier:@"BugsForAppDetailTableViewController_ID"];
        [centerViewController setMOContext:[NSManagedObjectContext MR_defaultContext]];

        _bugsForAppTVC = centerViewController;
    }
    return _bugsForAppTVC;
}

您需要将iPhone故事板的设置与表视图控制器与iPad故事板的设置进行比较。检查这些项目:

  • delegate set
  • datasource set
  • DataSource提供了预期的核心数据对象
  • 控制器子类正确
  • 单元子类设置正确
  • 单元标识符正确
  • 表查看IBOutlet如果必要时正确定义

最新更新