我的大部分 tableView 都有一个恒定的表格行高。该表的高度可以更改,但只能在设计时更改。我不想对该表格行高进行两次编码。
所以我做这样的事情:
@interface UIViewController (cellHeightofFirstRowForTable) <UITableViewDataSource>
@end
#import "UIViewController+cellHeightofFirstRowForTable.h"
@implementation UIViewController (cellHeightofFirstRowForTable)
-(CGFloat) cellHeightForTable: (UITableView *) tableView
{
cellHeight= [self tableView:tableView heightForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
}
@end
基本上第一次询问表高度,我想计算一次,将其存储在静态变量中,然后简单地使用该值。
我得到了这个编译错误:
No visible @interface for 'UIViewController' declares the selector 'tableView:heightForRowAtIndexPath:'
但是,嘿,我已经在界面中指定这是一个符合 UITableViewDataSource 委托的 UIViewController 协议。
那么有什么问题呢?
我应该只复制代码吗?
注意:现在我已经知道这个设计很愚蠢。问题仍然存在以备将来使用。