我有TTViewController,其中包含一个TTTableView和一个初始化TTTableView,如下所示:
- (void)loadView{
appTableView = [[TTTableView alloc] initWithFrame:CGRectMake(10, 20, self.view.width - 20, (self.view.height - 44 - 49)/2 - 40)];
appTableView.backgroundColor = [UIColor clearColor];
appTableView.delegate = self;
appTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[self.view addSubview:appTableView];
}
和在
- (void)requestDidFinishLoad:(TTURLRequest*)request {
appTableView.dataSource = [TTListDataSource dataSourceWithObjects:
[CustomTTTableSubtitleItem itemWithTitle:result.resourceName text:textCombine ],nil];
}
我已经对此进行了编码:
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object {
if ([object isKindOfClass:[CustomTTTableSubtitleItem class]]) {
NSLog(@"here");
return [CustomTTTableSubtitleItemCell class];
}
else {
return [self tableView:tableView cellClassForObject:object];
}
}
当然我添加了协议
@interface TestController : TTViewController<TTTableViewDelegate,TTTableViewDataSource>
但似乎-(Class)tableView:(UITableView *)tableView cellClassForObject:(id)对象没有被调用...我错过了什么吗?
最佳答案
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
是TTTableViewDataSource函数,因此您必须将TTListDataSource扩展到您自己的数据源类中,并在此处而不是在TTViewController下覆盖此函数。
在您的TTViewController中,创建自定义数据源:
///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)requestDidFinishLoad:(TTURLRequest*)request {
self.dataSource = [[[YourDataDataSource alloc]
initWithResults:results] autorelease];
}
并且在您的自定义TTTableViewDataSource中具有您的
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
自定义函数关于iphone - 在TTTableView中将自定义单元实现到TTViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7569593/