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 的单元格中更改 UITextFields 之间的焦点