ios cellForRowAtIndexPath不会被调用,但numberOfRowsInSection被调用并返回一个数字
我的应用程序正在使用JASidePanels库,我已经使用storyboard设置了它们。中心观点是一个UITableView和左面板是其中我调用一个方法(通过按下按钮)的图ios cellForRowAtIndexPath不会被调用,但numberOfRowsInSection被调用并返回一个数字
- (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参考时间:
此方法创建指定的视图控制器的每个调用它一个新的实例。
您需要获取现有的。
谢谢,有没有一种方法可以实现这一观点,而不是将它安装?我没有在这两个人之间设置任何节奏,因为如果我经历了这个节奏,我无法使用中心视图制作动画,对吗? – kalafun 2013-05-10 12:28:57
只需在头文件中创建一个出口属性并将其连接到故事板。然后你可以使用该属性访问masterController – Mert 2013-05-10 13:51:37
这看起来很容易:)但我应该在哪里创建它?我应该添加哪个控制器..我只是做了一个自定义的继续,然后在prepareForSegue中设置了masterViewController的属性。那会去做吗? – kalafun 2013-05-10 14:19:38
请委托和数据源设置为你的tableview 这样的...
tableView.delegate = masterController;
tableView.dataSource = masterController;
其中是“arrayOfFilterIds”数组中的数据。 – Madhu 2013-05-10 10:56:28