Ios xib中的UITableView未调用CellForRowatinex

Ios xib中的UITableView未调用CellForRowatinex,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我有一个包含很多视图的XIB(iPad)。其中一个视图是UITableView。代理是通过IB设置的。当您运行应用程序cellforrowatinex时,不会调用该代理。事实上,在这个文件中,也没有numberofrowsinssection或numberOfSections方法。只有一个didSelectRowAtIndexPath方法 因此,我编写了一个cellforrowatinex并手动设置self.table.delegate=self 如果单击某个单元格,则执行didSelectRo

我有一个包含很多视图的XIB(iPad)。其中一个视图是UITableView。代理是通过IB设置的。当您运行应用程序
cellforrowatinex
时,不会调用该代理。事实上,在这个文件中,也没有
numberofrowsinssection
numberOfSections
方法。只有一个
didSelectRowAtIndexPath
方法

因此,我编写了一个
cellforrowatinex
并手动设置
self.table.delegate=self

如果单击某个单元格,则执行
didSelectRowAtIndexPath

我真的不知所措?这怎么可能发生呢?

添加:

self.table.dataSource=self

cellforrowatinex
是一种数据源协议方法,因此必须将数据源设置为self,以便控制器响应数据源协议



如果此控制器不是UITableViewController,请不要忘记将以下内容添加到.h文件中:

@interface myViewController: UIViewController <UITableViewDelegate, UITableViewDataSource> {}
@interface myViewController:UIViewController{}

我不确定是什么导致了这个问题,但是一个简单的解决方法是,在
-(void)viewDidLoad
方法中,您可以调用
[self.table reloadData]
,强制它手动调用所有函数


我想到的另一件事是你说“numberOfRowsInSection或numberOfSections未实现”。。。这些方法是表视图所必需的,oyu必须确保实现它们。这很可能是您的.h中的问题,您需要添加数据源和委托声明

@interface HDMainViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

现在您的数据源和委托方法应该可以工作了

我个人会在Interface Builder中建立连接,但以编程方式也可以。它与数据委托一起在IB中设置,但仍然没有被调用。我已再次设置了数据源。UITableViewDataSource现在位于.h文件中。仍然没有调用CellForRowatineXpath。是否尝试重新加载表数据<代码>[self.table重载数据]
tableview.delegate = self;
tableview.dataSource = self;