繁体   English   中英

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

[英]ios cellForRowAtIndexPath doesn't get called however numberOfRowsInSection gets called and returns a number

我的应用程序使用JASidePanels库,并且使用情节提要设置了它们。 中心视图是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,因此无法获得要显示的实际表视图? 还是我错了? 你能帮我么?

是的,你是对的。 每次调用该方法时,都会创建一个新的主控制器

从UIStoryboard参考:

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

您需要获取现有的一个。

请像这样将委托和数据源设置为您的表视图...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM