【发布时间】:2012-09-13 06:41:29
【问题描述】:
我有一个 UITableView 子类,它有时需要提供自己的内部实现来计算节数。因此,有时我需要它从数据源中获取节数,有时我需要忽略数据源并自己计算。
我尝试用类似这样的内容覆盖 UITableView 的 numberOfRowsInSection:(注意这是表格视图的版本,而不是数据源的 tableView:numberOfRowsInSection:):
- (NSInteger)numberOfRowsInSection:(NSInteger)section
{
NSInteger numberOfRows = 0 ;
if( ![self sectionIsCollapsed:section] ) // is the section expanded?
{
numberOfRows = [super numberOfRowsInSection:section] ;
}
return numberOfRows ;
}
但是,UITableView 的 -endUpdate 并没有真正调用这个方法,而是直接进入数据源。有没有办法覆盖对数据源的调用,还是我只是 SOL?
谢谢!
【问题讨论】:
-
为什么不能在dataSource里做呢?
-
因为这是一个框架类;表视图数据源属于该类的用户。
标签: iphone ios uikit uitableview