iPad应用程序UITableView委托方法没有被调用

Posted

技术标签:

【中文标题】iPad应用程序UITableView委托方法没有被调用【英文标题】:iPad application UITableView delegate methods are not getting called 【发布时间】:2010-05-19 16:51:41 【问题描述】:

我在编写 iPad 应用程序时使用了与在 iphone 中填充 UITableView 相同的技术。 标签栏控制器 >UINavigationController>myCustomTable 类型的 UITableViewController(从 NIB 加载)

MyCustomTableViewController NIB 和类文件实现了委托方法

@interface MyCustomTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> 

 NSMutableArray *PDFList;
 IBOutlet UITableView *PDFTable;


但是我的委托方法没有被调用。我该怎么办?

【问题讨论】:

fyi,我相信新的首选模式是在 @property 声明中指定 IBOutlet。 [例如@property(非原子,保留)IBOutlet UITableView *PDFTable] 我已经设置了这个属性 【参考方案1】:

找到了解决办法……

在tableView委托方法中 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

i 返回 0,因此没有调用任何委托方法。

【讨论】:

jAmi - 仅供参考... numberOfSectionsInTableView 设置表格中的部分,然后您在每个部分中都有行(您在另一个调用行中设置).. 所以如果你有0 个部分,您的表中没有数据,它什么也不会。您应该始终为此值返回至少 1。因此,您的问题与您的委托和数据源连接无关。他们是正确的。 这件事发生在我身上,我完全忘记了这个细节。请接受您的回答。【参考方案2】:

你在IB中设置了表的委托和数据源吗?如果你有,并且一切都已连接好,它应该可以工作。

FWIW - 这是我使用笔尖的最大问题。如果您遇到问题,则很难向非本地人寻求帮助。

【讨论】:

不要试图粗鲁,但 something 必须没有正确连接。假设您已经正确实现了委托/数据源方法,并且拥有您的属性,那么问题必须出在 IB 和您的代码之间的连接上。我已将代码从 iphone 迁移到 ipad,我可以保证在这方面没有任何改变。【参考方案3】:

确保您已在 Interface Builder 的 Identity Inspector(工具 -> Identity Inspector)中正确设置“类”。还要在 Interface Builder 中设置适当的“引用插座”。

【讨论】:

这已经完成了......还有什么我需要担心的......请......这个项目的截止日期即将到来,我无法让这个基本的东西工作

以上是关于iPad应用程序UITableView委托方法没有被调用的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 方法没有触发

在同一 UITableView 的单元格中更改 UITextFields 之间的焦点

设置 UITableView 委托和数据源时的最佳实践

从 UITableView 委托方法中访问实例变量时获取“EXC_BAD_ACCESS”

如何手动调用 UITableView 的委托方法?

未调用 UICollectionView 内部 UITableView 的委托方法