Objective c SplitView的DetailView上的UITableView未加载其数据

Objective c SplitView的DetailView上的UITableView未加载其数据,objective-c,uitableview,ios5,uisplitviewcontroller,Objective C,Uitableview,Ios5,Uisplitviewcontroller,使用Xcode 4.3.1,iOS 5.1的ipad应用程序,没有核心数据 在我的故事板上,我有一个主细节项目。主控台显然有一个TableView,这很好:通过在主控台TableView中选择一个项目,我的详细信息数据在详细信息视图控制器中由模板代码调用setDetailItem设置,我从'didSelectRowAtIndexPath'调用该模板代码。那很好 “我的详细视图/场景”包含另一个UITableView,以及一些文本字段等。 此UITAbleView的数据源和委托连接到详图视图控制器

使用Xcode 4.3.1,iOS 5.1的ipad应用程序,没有核心数据

在我的故事板上,我有一个主细节项目。主控台显然有一个TableView,这很好:通过在主控台TableView中选择一个项目,我的详细信息数据在详细信息视图控制器中由模板代码调用setDetailItem设置,我从'didSelectRowAtIndexPath'调用该模板代码。那很好

“我的详细视图/场景”包含另一个UITableView,以及一些文本字段等。 此UITAbleView的数据源和委托连接到详图视图控制器。 在详细视图控制器的接口文件中,我将协议UITableViewDataSource和UITableViewDelegate添加到预配置的UISplitViewController Delegate旁边

我在详细视图控制器中实现了numberOfSectionsInTableView、numberOfRowsInSection、cellForRowAtIndexPath和didSelectRowAtIndexPath方法

但是,只有在建立主表视图的列表时,才调用它们,而不是在主表列表/表视图中选择项目时。当我在主列表/表格视图中选择一个项目时,细节数据将在细节视图控制器中设置,但例如,从未调用细节控制器中的“cellForRowAtIndexPath”,并且细节表格视图未更新/初始化。但是,详细视图中的文本字段加载了正确的数据

我想我错过了什么。在我准备tableview的数据时,我必须给它一个提示吗?如果是,如何。。。?tableview本身没有连接到插座或操作,是吗


谢谢

您需要实现从RootView到Detailview的自定义委托一对一通信。 如下图所示, 在RootView中实现委托

@protocol RootViewControllerDelegate <NSObject>

-(void)didchangeSelectionInRootViewList:(id)toItem;

@end
在创建splitview控制器时,不要忘记将Rootview中的委托设置为detailview

还可以在Detailview中捕获委托,并用足够的数据重新加载TableView

谢谢

纳文山

//a delegete need in caes of splitview to refresh the detailview.
-(void)callDelegate:(id)sender  {
    if(self.delegate && [self.delegate respondsToSelector:@selector(didchangeSelectionInRootViewList:)])    {
        [self.delegate didchangeSelectionInRootViewList:sender];
    }
}