ios cellForRowAtIndexPath没有被调用但是numberOfRowsInSection被调用并返回一个数字

时间:2013-05-10 10:52:55

标签: ios uitableview storyboard

我的应用程序正在使用JASidePanels库,我使用storyboard设置它们。中心视图是UITableView,左侧面板是我调用方法的视图(通过按下按钮)

- (IBAction)reloadAllFilters:(UIButton *)sender{

MasterViewController *masterController = [self.storyboard instantiateViewControllerWithIdentifier:@"centerViewController"];
NSMutableArray *arrayOfFilterIds = [[NSMutableArray alloc] init];

// another code

masterController.filterIdsToDisplay = arrayOfFilterIds;
[masterController.tableView reloadData];

[self.sidePanelController toggleLeftPanel:self];

}

问题是,当应用程序启动时,数字返回的行数,但在我调用此方法后,行数为30但我什么都看不见。

我认为问题是我正在实例化一个新的masterController,因此我无法显示实际的表视图?还是我错了?你能帮我吗?

2 个答案:

答案 0 :(得分:1)

是的,你是对的。每次调用方法

时都会创建一个新的主控制器

来自UIStoryboard参考:

  

每次调用时,此方法都会创建指定视图控制器的新实例。

你需要获得现有的。

答案 1 :(得分:0)

请将委托和数据源设置为tableview 像这样...

  tableView.delegate = masterController;
  tableView.dataSource = masterController;