2013-05-10 50 views
0

我的应用程序正在使用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,因此我不能得到实际的表视图来显示?或者我错了?你能帮我么?

+0

其中是“arrayOfFilterIds”数组中的数据。 – Madhu 2013-05-10 10:56:28

回答

1

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

从UIStoryboard参考时间:

此方法创建指定的视图控制器的每个调用它一个新的实例。

您需要获取现有的。

+0

谢谢,有没有一种方法可以实现这一观点,而不是将它安装?我没有在这两个人之间设置任何节奏,因为如果我经历了这个节奏,我无法使用中心视图制作动画,对吗? – kalafun 2013-05-10 12:28:57

+0

只需在头文件中创建一个出口属性并将其连接到故事板。然后你可以使用该属性访问masterController – Mert 2013-05-10 13:51:37

+0

这看起来很容易:)但我应该在哪里创建它?我应该添加哪个控制器..我只是做了一个自定义的继续,然后在prepareForSegue中设置了masterViewController的属性。那会去做吗? – kalafun 2013-05-10 14:19:38

0

请委托和数据源设置为你的tableview 这样的...

tableView.delegate = masterController; 
    tableView.dataSource = masterController; 
相关问题