numberofSections方法未被[tableview reloadData]调用

时间:2013-12-05 06:29:35

标签: ios uinavigationcontroller uitabbarcontroller uitableview

我正在使用xcode 5.0.2。其UItabBarcontroller 2 tabs tab,每个navigation controller App DelegateUIStoryboard编程方式嵌入AppDelegate.m。问题可能比看起来有点复杂。我正在使用in didFinishLaunchingMethod { self.tabBarController=[[UITabBarController alloc]init]; AIFirstViewController *viewController1 = [[AIFirstViewController alloc] initWithNibName:nil bundle:nil]; UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:viewController1]; viewController1.title = @"Menu"; AISecondViewController *viewController2 = [[AISecondViewController alloc] initWithNibName:nil bundle:nil]; UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:viewController2]; viewController2.title = @"Search"; self.tabBarController.viewControllers=[NSArray arrayWithObjects:navigationController1, navigationController2, nil]; [self.window setRootViewController:_tabBarController]; [self.window makeKeyAndVisible]; } 。是否与自动布局打开有关。

firstViewController

tableView

在第一个标签的IBOutlet中,我想显示tableView。我为delegate and datasourc创建了AIFirstViewConroller.m,其-(void)viewDidLoad { [super viewDidLoad]; self.tableVC.delegate = self; self.tableVC.dataSource=self; _checklist = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", nil]; NSLog(@"the tableview object: %@", self.tableVC); [self.view addSubview:_tableVC]; [self.tableVC reloadData]; } -(void) viewWillAppear:(BOOL)animated { [super viewWillAppear:YES]; [self.tableVC reloadData]; } numberOfSectionsInTableView:(UITableView *)tableView { return 1; } tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [_checklist count]; } e已连接到文件所有者。

tableView methods

viewDidLoad

second tab未被调用。仅调用view-controller。我应该改变什么?

web-viewNavigationcontroller,显示{{1}}。 在故事板中,segue是PUSH所以我必须为第一个VC提供{{1}}。

1 个答案:

答案 0 :(得分:2)

1)如果您已将TableView添加到相关的.xib文件中,则无需将TableView添加为子视图([self.view addSubview:_tableVC]

2)您是否检查过,您将添加的表格视图(.xib)与表格视图的实例方法 tableVC 相关联?

3)您是否在.h文件中包含了委托,数据源标题,即<UITableViewDatasource, UITableViewDelegate>

4)您不需要在 viewDidLoad 重新加载表格视图。您始终执行 reloadData ,其中您的表视图的数据源会发生变化。

5)您是否实现了委托函数 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 根据您的需要制作单个单元格?